Français
Forum

Gibt's là une Befehl pour?

 

Matthias
Badzun
Moin moin,

je suis Umsteiger de Turbo-/Power-Basic avec bien 10-jährigem "Schaffensloch" et habe tout autor un Problem (V.11 Vollversion)

je dois Variabele aus einer à sich sequenziellen Dossier einlesen, qui mais quelques Zeilen contient dans denen plusieurs Variabele avec Kommata getrennt vorkommen. Anzahl et Typ cette Variabelen ist dans cette Zeilen toujours juste, Cordes et payons gemischt, Cordes sommes zusätzlich dedans ».

Beispiel:
--------------------------------------------------------
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
--------------------------------------------------------

Les cordes peut aussi Sonderzeichen, Punkt et Kommata sowie <LF> et <CR> enthalten, mais aucun » dedans eines Stringtextes. qui Textlängen sommes indéterminé.

avec meinen alten Basic-Varianten était cela ne...aucune Problem (malheureusement mais pas Windows-fähig), mais dans XProfan 11 habe je en supplément encore rien funktionierendes entdeckt. mais là es oui "geht nicht" pas gibt, peux mir bestimmt quelqu'un plus aider.

Vorab vielen Dank
Salut, Matthias
 
Gruß,
Matthias
08.12.2008  
 




Christian
Eichler
quoi je personnelle, comme quelqu'un qui justement sur C umsteig, dans diesem le cas faire serait ist folgendes:

je serait jeden Buchstaben einzeln comparer et dabei qui " mitzählen. Ist le nombre qui " ungerade ist cela , dedans qui ", ist vous justement handelt es sich réellement um un Trennkomma.

c'est blos ne spontane concept de mir gewesen.

BTW: Überprüfen, si une numéro justement ou non peux on wunderbar avec 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
sommes chaque Zeilen par <CR> getrennt?
Ist naturellement alles machbar, seulement manquer encore un paire Infos. si qui Fichiers pas justement gigantisch gross sommes, serait je vous dans une Bereich magasin et ensuite parsen.
 
08.12.2008  
 




Matthias
Badzun
qui Fichiers peut 300~400 kB grand son, teoretisch aussi größer mais dans qui Praxis plutôt pas. qui Zeilen sommes par <CR><LF> getrennt. mais inerhalb qui Cordes peut également <CR><LF> comme Zeilenumbruch im Klartext avant venons, qui sich aussi im EDITOR so représenter. qui dürfen ensuite naturellement pas comme Ende qui Datenzeile interpretiert volonté.
 
Gruß,
Matthias
08.12.2008  
 




Dietmar
Horn
allô Matthias,

je serait qui Dossier sequentiell einlesen et chacun la ligne dans einer Boucle avec Substr$ durchforsten (avec Komma comme Trennzeichen), jusqu'à rien plus venez (siehe XProfan-Aider trop Substr$).

Les cordes erkennst Du ensuite oui à den Anführungszeichen, qui Du avec Instr überprüfen peux.
chez seulement 300 jusqu'à 400 KB devrait cela 1-2-fix aller.

là pourrait ensuite aussi <CR><LF> dedans qui Cordes pas stören.

Salut
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
oui, venez <CR><LF> dedans de Anführungszeichen avant, befinden vous sich dans im String. Ansonsten trennen vous chaque Zeilen voneinander ab. je serait alles dans une Bereich lesen et zeichenorientiert parsen.
 
08.12.2008  
 



Matthias Badzun
je dois Variabele aus einer à sich sequenziellen Dossier einlesen, qui mais quelques Zeilen contient dans denen plusieurs Variabele avec Kommata getrennt vorkommen. Anzahl et Typ cette Variabelen ist dans cette Zeilen toujours juste, Cordes et payons gemischt, Cordes sommes zusätzlich dedans ». Les cordes peut aussi Sonderzeichen, Punkt et Kommata sowie <LF> et <CR> enthalten, mais aucun » dedans eines Stringtextes. qui Textlängen sommes indéterminé.


Würde je per Array lösen.

Hab "einladen" et "getxy" sur obiges angepasst, dass cela avec den Cordes klappt.
KompilierenMarqueSéparationou
KompilierenMarqueSéparation
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]=»)

            RETOUR 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$,"
    ")
    RETOUR NDATA$[]

endproc

proc MYDATA.GETXY

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

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

        RETOUR S$

    ENDIF

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

    IFNOT N&

        RETOUR »

    ENDIF

    RETOUR MYDATA.STRINGS$[N&-1]

endproc

proc FGC

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

    IFNOT FH&

        RETOUR »

    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&,»
    RETOUR _OUT$

endproc

 
08.12.2008  
 




Matthias
Badzun
Vielen Dank euch allen pour qui verschiedenen idées. Soweit je qui avec meinem encore droite bescheidenen Xprofan-Kenntnissen nachvollziehen konnte hab je vous ausprobiert.
là dans den Textfeldern Kommata vorkommen allez substr$ pas - cela mach ensuite là un nouveau champ sur et plus hinten stehende volonté ensuite pas plus gelesen. alors musste je doch qui la ligne zunächst komplett einlesen et ensuite Byte pour Byte auspicken. Irgendwas hakt zwar encore quelquefois beim Wieder-zusammenbau qui Textes dans une neuen String, doit avec dem Feldinhalt trop 1faire avons, mais wenigstens hab je déjà la fois alle mon Felder wieder dans individuel Variabelen.

Frohe Festtage et guten Glissement pour alle

Matthias
 
Gruß,
Matthias
19.12.2008  
 



dans meinem Posting (2 hoch) stehen deux funktionierende (getestet) Lösungen, magst pas?

(bof, schwer trop übersehen ists oui pas là einziger Code ici im Fil *g*)

sur allemande: qui Code zeigt doch comme funzt et ist zudem très vite.
 
19.12.2008  
 




Matthias
Badzun
lieben tät je qui déjà, mais là reicht mon profanes Xprofan-savons encore longtemps pas aus um cela trop comprendre. si ensuite dans qui Praxis quoi aneckt hab je aucun chance, qui Ursachen trop entdecken.
So entier allmählich stoße je ici sur qui Equivalente zum Altgelernten. mais un paire Progrämmle doit je mir wohl encore rausquälen um wieder fit trop volonté.
quand même viele Dank pour cet Scripte, sommes sur qui Platte, mais encore pas im Hirn jusqu'à bientôt, jusqu'à zum prochain Schlauch, sur dem je une Weile ausharre
 
Gruß,
Matthias
19.12.2008  
 



You sont welcome!

si Fragen entstehen...

mais peut-être pourrait oui un Geübter obigen Code quelque chose humanisieren.
 
19.12.2008  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.764 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie