WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   pascal problem! array schreibn (http://www.wcm.at/forum/showthread.php?t=77381)

flinx 19.11.2002 21:03

Zitat:

und er schreibt wieder ungültige Qualifizeirung!
hast
Code:

procedure schreiben(var ptmoment:tgesamt);
geändert??

Auslesen musst anders.
Ja, so wie ichs geschrieben hab, ist's eine Zeichenkette ohne Leerzeichen oder sonstwas, was das auslesen etwas schwierig machen dürfte. Ein Leerzeichen (irgendein Trennzeichen) wäre schon angebracht, damit man es vernünftig wieder auslesen kann bzw. du kannst die Werte auch untereinander schreiben (writeln)). Auslesen musst jeden Wert einzeln, und natürlich auch den Feldern im Record wieder zuweisen.

flinx 19.11.2002 21:49

Lesen vom file als Beispiel (ohne Gewähr und ohne Fehlerüberprüfung):
Code:

procedure leserecordvonfile(var Dateiname:String;var indenRecord:tgesamt);
var dat: Text;
    gelesenerDatensatz:array[1..9] of String;
    j,code: Integer;
begin
    assign(dat, Dateiname);
    reset(dat);
    j:=1;
    while ((not eof(dat)) and (j < 10)) do
    begin
    readln(dat,gelesenerDatensatz[j]);
    j:=j+1;
    end;
    close(dat);
    Val(gelesenerDatensatz[1],indenRecord.datum.jahr,code);
    Val(gelesenerDatensatz[2],indenRecord.datum.monat,code);
    Val(gelesenerDatensatz[3],indenRecord.datum.tag,code);
    Val(gelesenerDatensatz[4],indenRecord.zeit.stunde,code);
    Val(gelesenerDatensatz[5],indenRecord.zeit.minute,code);
    Val(gelesenerDatensatz[6],indenRecord.zeit.sekunde,code);
    Val(gelesenerDatensatz[7],indenRecord.kennzahl.raum,code);
    Val(gelesenerDatensatz[8],indenRecord.kennzahl.geraet,code);
    Val(gelesenerDatensatz[9],indenRecord.kennzahl.Zustand,code);
end;

Setzt voraus, dass in dem - zu lesenden - File die Daten untereinander und in der richtigen Reihenfolge geschrieben wurden!

Kannst natürlich auch die Daten in eine Zeile schreiben (mit Delimiter), einen String einlesen und die Daten aus dem String extrahieren.

porli 21.11.2002 20:28

Zitat:

Original geschrieben von flinx

hast
Code:

procedure schreiben(var ptmoment:tgesamt);
geändert??


ja hab ich! (siehe anlage)

ab es funzt trotzdem nicht! das a´ndere werde ich ma noch anschaun! hab noch ikeine zeit ghabt! danke! aba es geht nciht mit dem reinschreiben!
:heul:

flinx 21.11.2002 21:48

Zitat:

ja hab ich! (siehe anlage)
Na hast noch nit, ptmoment ist immer noch vom typ tgesamt und nicht vom typ tmoment und du versuchst immer noch an record zu indizieren ... :confused:
Wennst den schon indizierten Record (sprich: tmoment[25]) übergeben willst, musst innerhalb der schreiben procedure den index weglassen (also z. B. ptmoment.datum.jahr). Wennst den Index, so wie dus gemacht hast, innerhalb der Prozedur ausliest, wirst schon das gesamte array übergeben müssen und nicht nur einen Record .... :rolleyes:

porli 22.11.2002 10:04

Zitat:

Original geschrieben von flinx

Na hast noch nit, ptmoment ist immer noch vom typ tgesamt und nicht vom typ tmoment und du versuchst immer noch an record zu
indizieren ... :confused:
[/b]
du hast auch nicht gsagt das vom typ tgesamt sein soll! siehe weiter oben! du hast gsagt vom tgesamt!! ;)

ja 9ich will eh den ganzen array übergeben! es soll in einem index vom array der komplette record tgesamt sein!

flinx 23.11.2002 08:23

Zitat:

hast auch nicht gsagt das vom typ tgesamt sein soll! siehe weiter oben! du hast gsagt vom tgesamt!!
Ich nehm an du meinst tmoment. Nein ich hab nicht gesagt, es soll vom Typ tmoment sein (ich habs nur angenommen, und du hast es bestätigt, also hab ich mir gedacht, du hast den Übergabetyp schon geändert...)
Zitat:

ja 9ich will eh den ganzen array übergeben! es soll in einem index vom array der komplette record tgesamt sein!
Dann brauchst eh nur mehr den Übergabetyp in tmoment ändern und dann kannst ptmoment indizieren.

Wir haben anscheinend ein bisschen aneinander vorbei geredet. :lol:


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag