Español
Foro

String en el Bereichsvariable bringen.

 

funkheld
¡Hola, Yo empfange ahora Daten de el Clipboard.
El Daten posición sí hay como texto.
Mit:
texto$=getclip$()
Yo el texto$ y Len erfahre Yo el Longitud.
Nun möchte Yo, el texto$ en un Bereichsvariable conjunto una Zahl auszuwerten. Der String es eigentlich una Bytefolge y kann no con "String" leerse, porque auch mitten drin una "0" posición kann.

Cuestión:
Como bekomme Yo, el texto$ en el Bereichsvariable para auswerten?
Yo compiliere con XPSE.

Gracias.

Gruss
 
10.05.2012  
 




Jörg
Sellmeyer
Char verarbeitet auch Nullbytes.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
10.05.2012  
 



Exactamente, hier hilft el Procedimiento char oder nutze el rtlMoveMemory Función.

XPSE-Kurzschreibweise:
cadena s="Mein Stringinhalt"
mem speicher=len(s)
rtlMoveMemory(speicher,addr(s),len(s))
//ahora es en el Bereichsvariable "speicher" el Stringinhalt
disponer speicher

oder:
var s$="Mein Stringinhalt"
declarar speicher#
dim speicher#,len(s$)
char speicher#,0=s$
//ahora es en el Bereichsvariable "speicher" el Stringinhalt
disponer speicher#
 
10.05.2012  
 




funkheld
Sí, danke para el Propuestas.

Gruss
 
10.05.2012  
 




funkheld
Jup, Yo kann ahora el Daten de el Clipboard empfangen y ausgeben.
Wenn ahora dieses "if wert&=1" erfüllt es y yo el Daten ausgeprintet habe, möchte Yo anschliessend 5 Zählwerte weitergehen en el Mientras que-Bucle. Como va el?

Gracias.
 {$cleq}
declarar ende&,texto$,bereich#,z&,laenge&,wert&
dim bereich#,128
ende&=1
Ventana 20,20-600,500

Mientras que Ende&

    sleep 5
    texto$=getclip$()
    clearclip
    laenge&=len(texto$)

    if laenge& > 5

        char bereich#,0=texto$

        whileloop laenge&

            wert&=@byte(bereich#,&bucle)

            if wert&=1

                imprimir "tacho: ";
                imprimir double(long(bereich#+&bucle+1,0))

            endif

            if wert&=2

                imprimir "bremse: ";
                imprimir "bremse "+double(long(bereich#+&bucle+1,0))

            endif

        endwhile

    endif

EndWhile

End
 
11.05.2012  
 



Machste simplemente una propio Zählschleife z.B.:
var i&=0

mientras que 1

    add i&,1

    if ...

        add i&,4
        continue...

oder xpseischer:
long i

do{

    i++

    if ... {

        add i,4
        continue...
 
12.05.2012  
 




funkheld
Jup, danke. el funktioniert.
Pensé uno kann el Variable &Loop während des Ablaufes ändern.

¿Por qué se después de 10 durchläufen el Wort "ende" no geprintet?
 {$cleq}
declarar ende&,zaehler&
ende&=1
Ventana 20,20-600,500

Mientras que Ende&

    sleep 5

    Sinestar encargado 0

        sleep 5
        add zaehler&,1
        caso zaehler& > 10 : continue
        imprimir zaehler&

    EndWhile

    imprimir "ende"

EndWhile

End
 
12.05.2012  
 




Wilfried
Friebe
Hi

Yo habe veces una bisschen verändert allerdings sin XPSE
declarar ende&,zaehler&
ende&=1
Ventana 20,20-600,500

Mientras que Ende&

    sleep 5

    Sinestar encargado zaehler& = 10

        sleep 5
        add zaehler&,1
        caso zaehler& > 9 : Ende& = 0
        imprimir zaehler&

    EndWhile

    imprimir "ende"

EndWhile

waitinput
End

Saludo Wilfried
 
Board MSI B450M BAZOOKA CPU AMD Ryzen 7 2700x 8 Core 3,7-4,2 GH 32 Gb Ram NVIDIA GeForce GTX 3060 12 GB Ram Window 11 Prof 64 Bit

Sun-Guru-Barebone CPU I7-9750H 16 GB Ram NVIDIA GeForce GTX1660TI 6 GB Ram Window 11 Hom 64 Bit

Profan 4.5 bis Xprofan 14
Ein frisch geschriebenes Programm hat meistens einen großen Fehler.Sollte man versuchen diesen großen Fehler zu beseitigen, hat man viele kleine Fehler "Grins"
12.05.2012  
 




Jörg
Sellmeyer

¿Por qué se después de 10 durchläufen el Wort "ende" no geprintet?


Weil Usted de dieser Bucle no herauskommst:
Sinestar encargado 0

    sleep 5
    add zaehler&,1
    caso zaehler& > 10 : continue
    imprimir zaehler&

EndWhile


Mit Continue springst Usted siempre otra vez a el Schleifenanfang. Romper unterbricht el Bucle.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.05.2012  
 




funkheld
Jup, danke para el verschiedenen Lösungen.

Gruss
 
14.05.2012  
 



Hi!

Wenn se de Deiner Sicht uno Deiner Temas "erledigt" ha,
entonces el Thema simplemente como "erledigt" marca.

Dann Será mejor que te va z.B. auch en "Aktuelle Themen" (  [...]  ) como se hace adecuado.

Dafür simplemente unten en el "Themenoptionen" en "erledigt" clic.

También kannst Usted Beiträge como "Lösung" marca. Das wiederum va si uno
con ratón encima el "Mehr"-Button fährt (cada Contribución ha solch Button unten rechts)
y el Opción "Als Solución deklarieren" bestätigt.
 
14.05.2012  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

12.191 Views

Untitledvor 0 min.
H.Brill17.10.2022
RudiB.18.04.2021
Normann Strübli07.06.2020
funkheld14.12.2013
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie