Español
Foro

Gibt's como una Befehl para?

 

Matthias
Badzun
Moin moin,

Yo bin Umsteiger de Turbo-/Power-Basic con bien 10-jährigem "Schaffensloch" y habe por lo tanto una Problema (V.11 Vollversion)

Yo muß Variabele de uno a se sequenziellen Expediente einlesen, el aber algunos Zeilen enthält en denen mehrere Variabele con Kommata getrennt vorkommen. Anzahl y Typ dieser Variabelen es en esta Zeilen siempre igual, Cuerdas y Pagar gemischt, Cuerdas son zusätzlich innerhalb "".

Ejemplo:
--------------------------------------------------------
15840
1
13,13,6,20,11,12,15
550
595
600
385
390
1,81074,36626,"Herr",36526,"Unbekannt","Diagnose","€","Schlusstext, 2. Zeile"
3
--------------------------------------------------------

Las cuerdas puede auch Sonderzeichen, Punkt y Kommata sowie <LF> y <CR> enthalten, pero no "" innerhalb uno Stringtextes. El Textlängen son unbestimmt.

Mit media alten Basic-Varianten war el kein Problema (desafortunadamente pero no Windows-fähig), aber en XProfan 11 Yo dazu todavía nichts funktionierendes entdeckt. Aber como lo sí "geht nicht" no son, kann me determinado alguien más helfen.

Vorab vielen Dank
Saludo, Matthias
 
Gruß,
Matthias
08.12.2008  
 




Christian
Eichler
Was Yo persönlich, como alguien el gerade en C umsteig, en diesem Fall hacer sería es folgendes:

Yo sería cada Buchstaben einzeln vergleichen y esta el " mitzählen. Ist el número el " ungerade es el , innerhalb el ", es ellos gerade es lo tatsächlich en una Trennkomma.

Es blos ne spontane Concepto de me gewesen.

BTW: Überprüfen, si una Zahl gerade o no puede ser wunderbar con Modulo 2

Grüße Christian
 
Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6
08.12.2008  
 




Frank
Abbing
Sind cada Zeilen por <CR> getrennt?
Ist natürlich alles machbar, sólo fehlen todavía unos pocos Infos. Wenn el Archivos no gerade gigantisch gross son, sería Yo ellos en una Zona invitar y luego parsen.
 
08.12.2008  
 




Matthias
Badzun
El Archivos puede 300~400 kB groß ser, teoretisch auch größer aber en el Praxis más no. El Zeilen son por <CR><LF> getrennt. Aber inerhalb el Cuerdas puede ebenfalls <CR><LF> como Zeilenumbruch en el Klartext antes kommen, que auch en el EDITOR así darstellen. El dürfen entonces natürlich no como Ende el Datenzeile interpretiert voluntad.
 
Gruß,
Matthias
08.12.2008  
 




Dietmar
Horn
¡Hola Matthias,

Yo sería el Expediente sequentiell einlesen y jede Línea en uno Bucle con Substr$ durchforsten (con Komma como Trennzeichen), a nichts mehr kommt (siehe XProfan-Ayuda a Substr$).

Las cuerdas erkennst Usted entonces sí a el Anführungszeichen, el Usted con Instr überprüfen kannst.
En sólo 300 a 400 KB müßte el 1-2-fix ir.

Como dürfte entonces auch <CR><LF> innerhalb el Cuerdas no stören.

Saludo
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
08.12.2008  
 




Frank
Abbing
Sí, kommt <CR><LF> innerhalb de Anführungszeichen antes, befinden ellos se en en el String. Ansonsten trennen ellos cada Zeilen voneinander de. Yo sería alles en una Zona lesen y zeichenorientiert parsen.
 
08.12.2008  
 



Matthias Badzun
Yo muß Variabele de uno a se sequenziellen Expediente einlesen, el aber algunos Zeilen enthält en denen mehrere Variabele con Kommata getrennt vorkommen. Anzahl y Typ dieser Variabelen es en esta Zeilen siempre igual, Cuerdas y Pagar gemischt, Cuerdas son zusätzlich innerhalb "". Las cuerdas puede auch Sonderzeichen, Punkt y Kommata sowie <LF> y <CR> enthalten, pero no "" innerhalb uno Stringtextes. El Textlängen son unbestimmt.


Würde Yo por Array lösen.

Hab "einladen" y "getxy" en obiges adaptado, dass el con el Cuerdas klappt.
KompilierenMarcaSeparacióno
KompilierenMarcaSeparación
DECLARE MYDATA.STRINGS$[]
DECLARE MYDATA$[]
MYDATA$[]=MYDATA.LOADFROMSTRING(FGC("meineDatei"))
CLS
PRINT "Zeilen:",SIZEOF(MYDATA$[])
PRINT "1,1:",MYDATA.GETXY(1,1)
PRINT "3,3:",MYDATA.GETXY(3,3)
PRINT "1,5:",MYDATA.GETXY(1,5)
PRINT "3,9:",MYDATA.GETXY(3,9)
PRINT "4,9:",MYDATA.GETXY(4,9)
PRINT "6,9:",MYDATA.GETXY(6,9)
WAITINPUT
end

proc MYDATA.LOADFROMSTRING

    PARAMETERS DATA$
    DECLARE LNS$[]
    CLEAR MYDATA.STRINGS$[]
    LNS$[]=EXPLODE(DATA$,"q")
    var C&=SIZEOF(LNS$[])

    IF (C&=0)

        IF (LNS$[0]="")

            RETORNO LNS$[]

        ENDIF

    ENDIF

    DATA$=""

    WHILELOOP 0,C&-1

        IFNOT (&LOOP MOD 2)

            DATA$=DATA$+LNS$[&LOOP]

        ELSE

            MYDATA.STRINGS$[SIZEOF(MYDATA.STRINGS$[])]=LNS$[&LOOP]
            DATA$=DATA$+"q"+STR$(INT(SIZEOF(MYDATA.STRINGS$[])))+"q"

        ENDIF

    ENDWHILE

    DECLARE NDATA$[]
    NDATA$[]=EXPLODE(DATA$,"
    ")
    RETORNO NDATA$[]

ENDPROC

proc MYDATA.GETXY

    PARAMETERS X&,Y&
    DEC Y&
    var S$=SUBSTR$(MYDATA$[Y&],X&,",")

    IFNOT MID$(S$,1,1)="q"

        RETORNO S$

    ENDIF

    var N&=VAL(DEL$(S$,1,1))

    IFNOT N&

        RETORNO ""

    ENDIF

    RETORNO MYDATA.STRINGS$[N&-1]

ENDPROC

proc FGC

    PARAMETERS FLE$
    var FH&=ASSIGN(FLE$)

    IFNOT FH&

        RETORNO ""

    ENDIF

    RESET #FH&
    var S$=""
    var _OUT$=""

    WHILENOT EOF(FH&)

        INPUT #FH&,S$
        _OUT$=_OUT$+S$

        IFNOT EOF(FH&)

            _OUT$=_OUT$+"
            "

        ENDIF

    ENDWHILE

    CLOSE FH&
    ASSIGN FH&,""
    RETORNO _OUT$

ENDPROC

 
08.12.2008  
 




Matthias
Badzun
Vielen Dank euch allen para el verschiedenen Ideen. Soweit Yo el con mi todavía bastante bescheidenen Xprofan-Kenntnissen nachvollziehen podría tener Yo ellos ausprobiert.
Como en el Textfeldern Kommata vorkommen va substr$ no - el mach entonces hay una neues Feld en y más hinten stehende voluntad entonces no mehr gelesen. Also musste Todavía el Línea primero komplett einlesen y luego Byte para Byte auspicken. Irgendwas hakt zwar todavía manchmal beim Wieder-zusammenbau el Textos en una neuen String, muß con el Feldinhalt a tun haben, aber wenigstens tener Yo ya veces todos mi Felder otra vez en individual Variabelen.

Frohe Festtage y guten Resbalón para todos

Matthias
 
Gruß,
Matthias
19.12.2008  
 



In mi Posting (2 hoch) posición zwei funktionierende (getestet) Lösungen, magst no?

(naja, schwer a übersehen ists sí no como einziger Code hier en el Hilo *g*)

Auf Alemán: Der Code zeigt doch como funzt y es zudem muy rápidamente.
 
19.12.2008  
 




Matthias
Badzun
mögen tät Yo el ya, aber como reicht mein profanes Xprofan-Wissen todavía largo no de en el a verstehen. Wenn entonces en el Praxis qué aneckt tener Yo no Chance, el Ursachen a entdecken.
So bastante allmählich stoße Yo hier en el Equivalente para Altgelernten. Aber unos pocos Progrämmle muß Yo wohl todavía rausquälen en otra vez fit a voluntad.
Trotzdem viele Dank para esta Scripte, son en el Platte, aber todavía no en el Hirn Bis bald, a para nächsten Schlauch, en el Yo una Weile ausharre
 
Gruß,
Matthias
19.12.2008  
 



You are welcome!

Wenn Fragen entstehen...

Aber tal vez podría sí una Geübter obigen Code algo humanisieren.
 
19.12.2008  
 



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

1.824 Views

Untitledvor 0 min.
Peter Max Müller30.09.2014
Georg Hovenbitzer02.10.2013
Michaeal18.10.2012
iF05.03.2011

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