WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 17.11.2002, 10:39   #1
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Frage pascal problem! array schreibn

also:

i hab wieder mal ein problem für euch!!!

müssn für die schuile da so a schirches proggi schreiben und jetzt bring ma ned zam an array in die datei zum schreim!! er sagt immer:"ungültige qualifizierung". und jetzt brauchat ma bidde a paar lösungsvorschläge!


Quelltext:

procedure schreiben(var ptmoment:tgesamt);
var
dat,dat2:text;
letztzahl:integer;

begin
assign(dat2,'zahl.txt');
reset(dat2);
readln(dat2,letztzahl);
close(dat2);
assign(dat,'index.txt');
{$i-}
reset(dat);
{$i+}
If (ioResult<>0) then
begin
assign(dat,'index.txt');
rewrite(dat);
close(dat)
end;
assign(dat,'index.txt');
append(dat);
write(dat,ptmoment[letztzahl]); {ungültige qualifizierung}
close(dat)
end;
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 17.11.2002, 17:41   #2
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

TP-Hilfe sagt:
Code:
 (ungültige Qualifizierung)

Diese Fehlermeldung erhalten Sie bei dem Versuch,

 a eine Variable zu indizieren, die kein Array
   ist,
 b auf Felder einer Variablen zuzugreifen, die
   kein Record ist, oder
 c eine Variable zu dereferenzieren (mit ^), die
   kein Zeiger ist.
flinx ist offline   Mit Zitat antworten
Alt 18.11.2002, 15:39   #3
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

so gscheit war ich auch schon! aba das hat ma nicht wirkli weiter gholfen! leider! *schnief*

weil a: sie is ein array
b: sie is auch ein record
c: und das letzte versteh ich nicht was das heisst!

aba kann ma irgendwer in quelltext korriegieren oda so??

ich weiß nämli uur nicht mehr weiter!
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 18.11.2002, 15:51   #4
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Zitat:
weil a: sie is ein array
b: sie is auch ein record
Ein array aus records?

Strukur/Definition von tgesamt wäre nett zu wissen?
flinx ist offline   Mit Zitat antworten
Alt 18.11.2002, 21:05   #5
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

oke ich hab dir/euch mal da das ganze proggi geadded!

danke schon mal jetzt!
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 19.11.2002, 00:41   #6
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Code:
tdatum=record
      jahr:integer;
      monat:1..12;
      tag:1..31;
    end;
    tzeit=record
      stunde:0..23;
      minute:0..59;
      sekunde:0..59;
    end;
    tkennzahl=record
      raum:1..14;
      geraet:1..10;
      Zustand:0..1;
    end;
    tgesamt=record
      datum:tdatum;
      zeit:tzeit;
      kennzahl:tkennzahl;
    end;
    tmoment=array [1..maxaction] of tgesamt;
procedure schreiben(var ptmoment:tgesamt);
...
write(dat,ptmoment[letztzahl]); {ungültige qualifizierung} 
...
IMHO trifft Fehler a) zu. Einen Record wirst nicht mit Indices ansprechen können.
je nach dem was schreiben willst:
Code:
write(dat, ptmoment.kennzahl.raum)
                            .gerät
                    .zeit.stunde
Sollte ptmoment vom Typ tmoment und letztzahl der Index sein:
Code:
ptmoment[letztzahl].zeit.stunde
hth
flinx ist offline   Mit Zitat antworten
Alt 19.11.2002, 16:55   #7
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

na schau ich will den gsamten array ptmoment im feld[letztzahl (is a zahl aus einer datei)] in eine neue datei mit den namen inex.txt schreiben!

in dem array-feld soll ein zahlendatensatz drinnstehn der sich aus

datum
zeit
kennzahlen

zusammensetztt!

oda hab ich das falsch verstanden?

meinst du das ich schreiben müsste:
write(dat, ptmoment.kennzahl.raum.gerät.zeit.stunde) aba das geht ja nciht! ich hab ma dacht ich schreib den ganzen record tgesamt in das array!

ich weiß ja nicht ich kenn mich mit dem noch nciht gut aus! ham das grad neu gmacht! und unser lehrer is a bissi a depp!


Zitat:
Original geschrieben von flinx
Sollte ptmoment vom Typ tmoment und letztzahl der Index sein:
ja soll er/es!
Zitat:
Code:
ptmoment[letztzahl].zeit.stunde
:
was meinst damit? dann tät er ja nur zeit und stunde schreiben! oda?
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 19.11.2002, 17:49   #8
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Zitat:
na schau ich will den gsamten array ptmoment im feld[letztzahl (is a zahl aus einer datei)] in eine neue datei mit den namen inex.txt schreiben!
des hab ich mir fast gedacht.
Zitat:
ich schreib den ganzen record tgesamt in das array!
hast ja auch getan , nur willst jetzt den 'Verweis' auf den Record (dessen Felder wieder Records sind) in eine Datei schreiben und des wird nicht ganz funktionieren. Du musst die Felder der Records schreiben: d.h. z.B. so
Code:
write(dat, ptmoment[letztzahl].datum.jahr)
write(dat, ptmoment[letztzahl].datum.monat)
write(dat, ptmoment[letztzahl].datum.tag)
write(dat, ptmoment[letztzahl].zeit.stunde)
write(dat, ptmoment[letztzahl].zeit.minute)
write(dat, ptmoment[letztzahl].zeit.sekunde)
write(dat, ptmoment[letztzahl].kennzahl.raum)
write(dat, ptmoment[letztzahl].kennzahl.geraet)
write(dat, ptmoment[letztzahl].kennzahl.Zustand)
hth
flinx ist offline   Mit Zitat antworten
Alt 19.11.2002, 19:55   #9
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

sorry hab grad min 30-40 zeilen gschrieben und dann is compi abgstürtzt jetzt weiiß ichs nimma genau aba ich versuchs nomal:

aha *check*

aba bleibt das dann trotzdem nur in einem index von dem array?

das soll dann eine riesige zeichenkette sein!

z.B.: 2002020915341801081

heisst so viel wie im Jahr 2002 am 09.02 um 15:34:18 Uhr wurde im Raum 1 das gerät 10 eingeschaltet!

so wenn ich das aus der datei dann wieder herausles kann ich dann auch wieder auf die einzelnen records zugreifen? nein oda?

weil wenn ich jetzt schreib:

Code:
readln(dat,ptmoment[letztzahl]);
dann les ich den ganzen datensatz in den array

aba wenn ich jetzt schreib:

Code:
readln(dat,ptmoment[letztzahl].datum.jahr
lest er dann nur es jahr?
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 19.11.2002, 20:10   #10
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

he das funktioniert aba auch nciht! habs grad ausprobiert:

Code:
write(dat, ptmoment[letztzahl].datum.jahr)
write(dat, ptmoment[letztzahl].datum.monat)
write(dat, ptmoment[letztzahl].datum.tag)
write(dat, ptmoment[letztzahl].zeit.stunde)
write(dat, ptmoment[letztzahl].zeit.minute)
write(dat, ptmoment[letztzahl].zeit.sekunde)
write(dat, ptmoment[letztzahl].kennzahl.raum)
write(dat, ptmoment[letztzahl].kennzahl.geraet)
write(dat, ptmoment[letztzahl].kennzahl.Zustand)
und er schreibt wieder ungültige Qualifizeirung!

obwohl ich die strichpunkte noch hinzugefügt haben obwohl die damit ja nix zu tun haben! ich weiß nicht! an was kannst da liegen!?
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:20 Uhr.


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