Español
Fuente/ Codesnippets

Befehlszeilentrennung

 
- Página 1 -



RudiB.
¡Hola zusammen,

Yo stehe wohl a uno para mich schier unlösbaren Tarea.
Yo möchte una Programa-Listing con Befehlszeilentrennung por Doppelpunkte, aufsplitten en separate Programmzeilen.
Als Sonderfall se sin embargo una Línea con "Case" oder "CaseNot" beibehalten voluntad.

Hier veces una absolut Sinnfreies Listing y danach el Listing bereinigt.
CLS
Declarar a$,b$:Declarar c$,d$
Declarar e$:Imprimir "Hallo \
zusammen !":Declarar INT GROBI: GROBI=500
a$=" el Hund va para \
hell brennenden Feuer en se \
a wärmen: ABER!!\
el Katze es ihm en el weg"
b$="nicht LEER"
c$="Test"
d$="fertig"
Imprimir:Imprimir:Case b$="":Imprimir" B es LEER":Imprimir GROBI
Imprimir c$,d$,GROBI
waitinput

...y así solls entonces aussehen.....Yo absolut no hinkriege !!!!
CLS
Declarar a$,b$
Declarar c$,d$
Declarar e$
Imprimir "Hallo \
zusammen !"
Declarar INT GROBI
GROBI=500
a$=" el Hund va para \
hell brennenden Feuer en se \
a wärmen: ABER!!\
el Katze es ihm en el weg"
b$="nicht LEER"
c$="Test"
d$="fertig"
Imprimir
Imprimir
Case b$="":Imprimir" B es LEER"
Imprimir GROBI
Imprimir c$,d$,GROBI
waitinput

....z.B: alleine ya el String en VAR a$ con un Doppelpunkt en él es una Herausforderung dar...porque hier auch todavía el eigentliche Befehlszeile con un Backslash aufgesplittet se...

auch hier en el Foro se el erste Listing con el Cuerdas farblich no korrekt dargestellt....

Stehe gerade voll en el Schlauch...
Kann me hier alguien en el Sprünge helfen ???
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
15.10.2022  
 



 
- Página 2 -



RudiB.
sí Walter eigentlich así.....es sí ya fresco
sin embargo möchte Yo una komplette Befehlszeilen-Auftrennung (salvo Case/Casenot) ....
sprich, auch una Case/Casenot debería Befehle getrennt voluntad....
Yo blanco sí el es Tricky..schwierig...sch..schwer.

Aber Yo denke hier kann Yo anknüpfen....
Yo brauche el para mein Projekt "VarFinder"....
tener como todavía así viele Baustellen offen....

aber Gracias primero....
Rudi
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
19.10.2022  
 




Walter
Mein Irrtum - Yo passe el caso/caseNot a, así lo así se ejecuta, como Usted lo necesidad...
 
19.10.2022  
 




Georg
Teles
Hmpf bin verwirrt, veces Case con If sustituir eventuell ?

así solls aussehen
CLS
Declarar a$,b$
Declarar c$,d$
Declarar e$
Imprimir "Hallo \
zusammen !"
Declarar INT GROBI
GROBI=500
a$=" el Hund va para \
hell brennenden Feuer en se \
a wärmen: ABER!!\
el Katze es ihm en el weg"
b$="nicht LEER"
c$="Test"
d$="fertig"
Imprimir
Imprimir

If b$=""

    Imprimir" B es LEER"

EndIf

Imprimir GROBI
Imprimir c$,d$,GROBI
waitinput

hier con Trennung
CLS
Declarar a$,b$:Declarar c$,d$
Declarar e$:Imprimir "Hallo \
zusammen !":Declarar INT GROBI: GROBI=500
a$=" el Hund va para \
hell brennenden Feuer en se \
a wärmen: ABER!!\
el Katze es ihm en el weg"
b$="nicht LEER"
c$="Test"
d$="fertig"
Imprimir:Imprimir:If b$="":Imprimir" B es LEER":EndIf:Imprimir GROBI
Imprimir c$,d$,GROBI
waitinput

Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

19.10.2022  
 




RudiB.
¡Hola Walter,

vielen Dank para Su Mühe... es ya no simplemente,,,,,
Jedoch hast Usted muy gute Ansätze......

Mi Test-Objeto-Listings/Herausforderungen hier Foro son:
z.B.:
CPU-Simulation....https://XProfan.net/intl/de/anwendungen/8bit-cpu-simulation/

y  [...] 
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
19.10.2022  
 




RudiB.
¡Hola Georg,

...Gracias para Su Kommentar....

Yo weiß no así wirklich, si Yo mich hier konkret genug ausgedrückt habe.
Yo arbeite siempre todavía a mi Projekt "VarFinder".
Como es eben wichtig, Programmzeilen a analysieren..... sprich el Programa muss Befehlszeilen auftrennen puede.
Gerade en Bezug en If y Endif uno Línea, auch dieses se aufgetrennt voluntad puede.
In diesem Ejemplo gehts veces sólo por lo tanto una Programmformatierung vernünftig durchzuführen.
Und así gehts más ......Problemas...Problemas...usw.
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
19.10.2022  
 




Georg
Teles
Hmpf,

streng genommen symbolisiert el Doppelpunkt ya una neue Línea en Case/Casenote
cls
var d%=2
caso d%=1
imprimir "asd"
caso d%=2
imprimir "dffff"
waitinput

Bedeutet, dass du mittels Parsen el Doppelpunkt vorher entfernst y una neue Línea lo machst oder je después de, si du el Doppelpunkt como neue Línea interpretierst, veces así como Concepto

Grüße
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

19.10.2022  
 




RudiB.
OK... mal como Hintergrund para mi Intension.
Mein Programa "VarFinder" se todos Variables en un Programa encontrar puede, sprich en welcher Línea "Deklariert" en welchen Zeilen kommt ellos todavía antes, es ellos Global deklariert oder kommt ellos auch aún en uno "Proc" antes usw.
Gibt lo Schleifen, Abfragen " If Endif"" etc.
Hierzu muss Yo nun veces jede Programmzeile auseinanderfieseln/zerlegen...
Ist no gerade simplemente...
Pensé ya Yo wäre fast al Ziel, sin embargo wurde en el Boden el Realität geholt,como Yo en el Praxistest con Programmen de diesem Foro, determinar musste el Todavía weit lejos bin vom Ziel......
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
19.10.2022  
 




Georg
Teles
Puh, sí entonces muss akribisch Línea para Línea con Estructuras verglichen y entschieden voluntad, qué como vorliegt

Einfach klingt no
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

19.10.2022  
 




RudiB.
Nein simplemente determinado no ...sin embargo denke Yo, el I una guten Weg bin.
Lo son con Sicherheit todavía viele Fehler en el Programa.....bin aber ständig esta esta auszumerzen...eben en diesem Wege y siempre en el Hoffnung el lo jemanden son, el una neue "PROFANE" Concepto reinwirft
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
19.10.2022  
 




Walter
Neuer Intento...
' Das Codestück teilt Befehlszeilen en ":" en neue Zeilen en,
' außer
'   a) el ":" befindet se innerhalb uno Stringliterals; oder
'   b) después de caso/caseNot.
'      Hier restos el erste ":" con el folgenden Befehl en derselben
'      Línea obtener.
' Kommentarzeilen son no berücksichtigt;
' el necesario ggf vorher ausgeschieden voluntad
cls
Declarar Expediente$
declarar StringAn%,i%,en$,out$,a$[]
declarar AnzDP%
StringAn%=0
AnzDP%=0
Datei$=Loadfile$("ÖFFNE:","*.prf")
Asignar #1,Expediente$
reset #1
Imprimir "Working.....Please Wait"

Sinestar encargado EOF(#1)

    input #1,en$
    a$[]=explode(en$)' Signo el Línea en Array escribir
    'Alle Signo el Línea durchlaufen
    for i%,len(en$)
    ' Feststellen, si uno se innerhalb uno Cuerdas befindet

    if (a$[i%-1]=Chr$(34)) and (StringAn%=0)

        StringAn%=1

    elseif (a$[i%-1]=Chr$(34)) and (StringAn%=1)

        StringAn%=0

    endif

    if a$[i%-1]=":"

        ' caso UND erster : ?

        if (left$(trim$(lower$(out$)),5)="case ") or (left$(trim$(lower$(out$)),8)="casenot ")

            if AnzDP%=0' erster Doppelpunkt - Línea fortsetzen

                out$=out$+a$[i%-1]
                inc AnzDP%

            más'Línea teilen

                imprimir out$
                out$=""
                AnzDP%=0

            endif

        elseIf StringAn%=0' : es no innerhalb uno Cuerdas - Línea teilen

            imprimir out$
            out$=""

        más

            out$=out$+a$[i%-1]' : es innerhalb uno Cuerdas - Línea fortsetzen

        endif

    más' más Signo como :

        out$=out$+a$[i%-1]

    endif

    endfor
    imprimir out$
    out$=""

EndWhile

Cerrar #1
Imprimir "FERTIG"
waitinput
 
20.10.2022  
 




RudiB.
Das sieht Super de !!!

Posesiones todos todavía erweitert, así el ganzzeilige Kommentare übersprungen y ser Endkommentare primero abgetrennt y ser al Schluss wiederhergestellt voluntad.
Ausserdem como Besonderheit todavía Sprungmarker, el en una Doppelpunkt enden....
' Das Codestück teilt Befehlszeilen en ":" en neue Zeilen en,
' außer
'   a) el ":" befindet se innerhalb uno Stringliterals; oder
'   b) después de caso/caseNot.
'      Hier restos el erste ":" con el folgenden Befehl en derselben
'      Línea obtener.
' Kommentarzeilen son no berücksichtigt;
' el necesario ggf vorher ausgeschieden voluntad
cls
Declarar Expediente$,End_Kommentar$,ausgabe%
declarar StringAn%,i%,en$,out$,a$[],pos%
declarar AnzDP%,kommentar%
StringAn%=0
AnzDP%=0
Datei$=Loadfile$("ÖFFNE:","*.prf")
Asignar #1,Expediente$
reset #1
Asignar #2,"Test_Datei.prf"
rewrite #2

Mientras que 1

    If (ausgabe%<1) Or (ausgabe%>2)

        Imprimir "Bitte gültigen Valor wählen ( 1 oder 2 )"
        ausgabe%=Entrada$("1- en Bildschirm ausgeben / 2- en Expediente screiben","Bitte Auswahl treffen",ausgabe%)

    Más

        romper

    EndIf

Endwhile

Imprimir "Working.....Please Wait"

Sinestar encargado EOF(#1)

    '-----------------------------------------------------------------------------------------------------------------------
    '          *ganzzeilige Kommentare überspringen
    '-----------------------------------------------------------------------------------------------------------------------
    input #1,en$

    If left$(trim$(en$),2)="/*"

        If ausgabe%=1

            Imprimir en$

        Más

            imprimir #2,en$

        Endif

        kommentar%=1
        continue

    Endif

    If left$(trim$(en$),2)="*/"

        If ausgabe%=1

            Imprimir en$

        Más

            imprimir #2,en$

        Endif

        kommentar%=0
        Continue

    Endif

    If (left$(trim$(en$),1)="'") Or (left$(trim$(en$),2)="//") Or (kommentar%=1)

        If ausgabe%=1

            Imprimir en$

        Más

            Imprimir #2, en$

        Endif

        continue

    EndIf

    '-----------------------------------------------------------------------------------------------------------------------
    '          Endkommentare abschneiden
    '-----------------------------------------------------------------------------------------------------------------------

    If (Instr("'",Trim$(en$),2)) Or (Instr("//",Trim$(en$),2))

        pos%=0
        End_kommentar$=""

        Whileloop Len(en$)

            If mid$(en$,&bucle,1)=chr$(34)

                pos%=Not(pos%)

            EndIf

            If (mid$(en$,&bucle,1)="'") And (pos%=0)

                End_kommentar$=Right$(en$,Len(en$)-&bucle+1)
                en$=Left$(en$,&bucle-1)
                Romper

            EndIf

            If (mid$(en$,&bucle,2)="//") And (pos%=0)

                End_kommentar$=Right$(en$,Len(en$)-&bucle+1)
                en$=Left$(en$,&bucle-1)
                Romper

            EndIf

        EndWhile

    EndIf

    '--------------------------------------------------------------------------------------------------------------------------

    If right$(Trim$(en$),1)=":"' si letztes Signo Doppelpunkt / Sprungmarker

        If ausgabe%=1

            Imprimir en$

        Más

            Imprimir #2, en$

        Endif

        Continue

    Endif

    a$[]=explode(en$)' Signo el Línea en Array escribir
    'Alle Signo el Línea durchlaufen
    for i%,len(en$)
    ' Feststellen, si uno se innerhalb uno Cuerdas befindet

    if (a$[i%-1]=Chr$(34)) and (StringAn%=0)

        StringAn%=1

    elseif (a$[i%-1]=Chr$(34)) and (StringAn%=1)

        StringAn%=0

    endif

    if a$[i%-1]=":"

        ' caso UND erster : ?

        if (left$(trim$(lower$(out$)),5)="case ") or (left$(trim$(lower$(out$)),8)="casenot ")

            if AnzDP%=0' erster Doppelpunkt - Línea fortsetzen

                out$=out$+a$[i%-1]
                inc AnzDP%

            más'Línea teilen

                If ausgabe%=1

                    imprimir out$

                Más

                    imprimir #2,out$

                Endif

                out$=""
                AnzDP%=0

            endif

        elseIf StringAn%=0' : es no innerhalb uno Cuerdas - Línea teilen

            If ausgabe%=1

                imprimir out$

            Más

                imprimir #2,out$

            Endif

            out$=""

        más

            out$=out$+a$[i%-1]' : es innerhalb uno Cuerdas - Línea fortsetzen

        endif

    más' más Signo como :

        out$=out$+a$[i%-1]

    endif

    endfor

    If ausgabe%=1

        imprimir out$+End_Kommentar$

    Más

        imprimir #2,out$+End_Kommentar$

    Endif

    End_Kommentar$=""
    out$=""

EndWhile

Cerrar #1
close #2
Imprimir "FERTIG"
waitinput

Posesiones lo entonces con el Quellcode "CPU-Simulation" laufen dejar.
lo scheint Fehlerfrei durchzulaufen...
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
20.10.2022  
 




Walter
Es doch ya muy fein.
Dann viel Glück - y más así!
 
20.10.2022  
 




Zum Quelltext


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

7.944 Views

Untitledvor 0 min.
Member 862464112.05.2024
Cyberangle03.02.2023
RudiB.02.02.2023
Normann Strübli31.01.2023
Más...

Themeninformationen

Dieses Thema ha 3 subscriber:

RudiB. (13x)
Walter (8x)
Georg Teles (3x)


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