AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array Problem

Ein Thema von BlueBong · begonnen am 13. Nov 2004 · letzter Beitrag vom 15. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
BlueBong

Registriert seit: 11. Nov 2004
27 Beiträge
 
#1

Array Problem

  Alt 13. Nov 2004, 21:12
Hallo miteinander

Ich habe folgenden Code programmiert. Er soll mir Daten in ein 3 Dimensionales Array schreiben.

Die Textdatei sieht folgendermassen aus.

XML-Code:
0
0
0
0
0
g1
12
233
34
21
12
fd
fg
fdg
fg
fg
g2
....
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var sl,sx: TStringList;
zeilennr,i,j,kontrollnummer :integer;
temp,kontrollstring : String;
gebaude : Array [0..17,0..20,0..5] of String;
begin


sx:=TStringList.Create; //Objekt erzeugen
sx.LoadFromFile('c:\gebaude1.txt'); //Datei in Stringliste laden

    zeilennr:=0;
     i:=0;
     j:=0;
     kontrollnummer:=1;
    while zeilennr<sx.Count-1 do begin
      kontrollstring:='g'+inttostr(kontrollnummer);
      temp:=sx[zeilennr];
      //kontrollstring=temp
      if (pos('g',temp))<>0 then begin
          i:=i+1;
          kontrollnummer:=kontrollnummer+1;
          j:=0;
      end
      else begin
          gebaude[i,j,0]:=sx[zeilennr];
          gebaude[i,j,1]:=sx[zeilennr+1];
          gebaude[i,j,2]:=sx[zeilennr+2];
          gebaude[i,j,3]:=sx[zeilennr+3];
          gebaude[i,j,4]:=sx[zeilennr+4];
          gebaude[i,j,5]:=sx[zeilennr+5];
          j:=j+1;
      end;
      zeilennr:=zeilennr+6;
    end;



    sx.free;
end;
Dummerweise läuft jedoch irgendwie immer dieses Array über wobei ich hierfür keine Erklärung habe, da nie mehr als 6*21 Zeilen kommen bevor wieder eine Zeile mit einem g am Anfang kommt.
Außerdem kommen nicht mehr als 17 Zeilen mit g am Anfang.

Woran kann das vielleicht liegen?

MfG Michael
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Array Problem

  Alt 13. Nov 2004, 21:15
Ähhh. DP als Code-Tag war nicht ganz richtig. Du musst delphi verwenden. Bitte ändern.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
BlueBong

Registriert seit: 11. Nov 2004
27 Beiträge
 
#3

Re: Array Problem

  Alt 13. Nov 2004, 21:16
Ist geschehen.

Sorry hab mich vertippt.

MfG Michael
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Array Problem

  Alt 13. Nov 2004, 21:21
Könntest du vielleicht sagen, was genau du machen willst? Schau mal in einen Styleguide, dein Text ist schwer zu lesen, da nicht erkennbar ist, welches end zu welchem begin gehört. Normalerweise wird so eingerückt, dass jedes Begin/End Paar übereinender steht.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
BlueBong

Registriert seit: 11. Nov 2004
27 Beiträge
 
#5

Re: Array Problem

  Alt 13. Nov 2004, 21:33
So ich habe das schön eingerückt.

Was ich genau machen will kommt hier.

Ich habe eine Textdatei die wie folgt aussieht.

XML-Code:
g0
0;0;0;0;0;0
g1
0;0;0;0;0;0
g2
89;89;89;0;0;00:13:00 h
95;90;89;0;0;00:15:00 h
140;131;125;0;0;00:22:00 h
180;145;137;0;0;00:29:00 h
231;189;187;0;0;00:37:00 h
364;247;226;0;0;00:45:00 h
478;360;389;0;0;00:54:00 h
656;540;488;0;0;01:02:55 h
799;758;732;0;0;01:08:58 h
951;895;886;0;0;01:16:24 h
1050;976;967;0;0;01:35:55 h
1388;1256;1185;0;0;01:48:00 h
1754;1458;1375;0;0;01:59:47 h
1844;1705;1648;0;0;03:59:48 h
2305;1954;1899;0;0;04:48:40 h
2958;2750;2687;0;0;07:59:10 h
3804;3787;3687;0;0;08:37:05 h
5410;5317;5308;0;0;09:31:29 h
8954;8780;8689;0;0;11:18:00 h
15875;15871;15869;0;0;14:01:17 h
g3
89;89;89;0;0;00:13:00 h
95;90;89;0;0;00:15:00 h
150;121;115;0;0;00:22:00 h
161;145;127;0;0;00:29:00 h
248;189;157;0;0;00:37:00 h
g[1-3] ist immer eine Obergruppe(Combobox), diese Obergruppen haben verschiedene können immer eine Eigenschaften(Combobox) haben welche einer Nummer zugewiesen hast. Diese Nummer ist auch immer die Zeilennummer nach dem g[1-3]

Nun möchte ich diese Daten, welche in dieser jeweils in ein Array schreiben, so dass ich sie leicht aufrufen kann.

Das Array sollte folgendermassen aussehen

array[Obergruppe,Eigenschaft,Datennummer]

Das ich dort hin komme erstetze ich schon zuvor jedes Semikolon durch einen Zeilenumbruch.

Ich hoffe das hilft euch ein bisschen.

MfG Michael
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#6

Re: Array Problem

  Alt 13. Nov 2004, 21:44
Sicher, dass der Fehler in dieser Prozedur auftritt an dieser Stelle auftritt? An welcher Stelle kommt es genau zum Fehler?

Schon mal den Debugger von Delphi benutzt?
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
BlueBong

Registriert seit: 11. Nov 2004
27 Beiträge
 
#7

Re: Array Problem

  Alt 13. Nov 2004, 21:51
Der Fehler tritt an folgender Stelle auf

Delphi-Quellcode:
      else begin
          gebaude[i,j,0]:=sx[zeilennr];
          gebaude[i,j,1]:=sx[zeilennr+1];
          gebaude[i,j,2]:=sx[zeilennr+2];
          gebaude[i,j,3]:=sx[zeilennr+3];
 -> gebaude[i,j,4]:=sx[zeilennr+4];
          gebaude[i,j,5]:=sx[zeilennr+5];
          j:=j+1;
      end;
Folgender Fehler wird ausgegeben.

"Der Index der Liste überschreitet das Maximum (1564)"

MfG Michael
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#8

Re: Array Problem

  Alt 13. Nov 2004, 21:54
Dsa Problem ist nicht das Array. In der Stringliste sind einfach nicht genügend Einträge.

Du solltest also prüfen, ob alles mit der Eingabedatei in Ordnung ist.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#9

Re: Array Problem

  Alt 14. Nov 2004, 13:46
also bei mir tritt gar kein fehler auf.
habe die datei gespeichert, wie oben aufgeführt und den quelltext lesbarer gemacht. die datei wird in das array eingelesen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var sx: TStringList;
    znr
   ,i
   ,j
   ,knr :integer;
    temp
   ,kstring : String;
    gebaude : Array [0..17,0..20,0..5] of String;
begin
 sx:= TStringList.Create; //Objekt erzeugen
 sx.LoadFromFile('c:\gebaude1.txt'); //Datei in Stringliste laden
 znr:=0;
 i:=0;
 j:=0;
 knr:=1;
 while znr < sx.Count-1 do
   begin
     kstring:='g' + inttostr(knr);
     temp:=sx[znr]; // kontrollstring=temp
     if (pos('g',temp)) <> 0 then
       begin
          inc(i);
          inc(knr);
       end
       else
       begin
         gebaude[i,j,0]:=sx[znr];
         gebaude[i,j,1]:=sx[znr+1];
         gebaude[i,j,2]:=sx[znr+2];
         gebaude[i,j,3]:=sx[znr+3];
         gebaude[i,j,4]:=sx[znr+4];
         gebaude[i,j,5]:=sx[znr+5];
         inc(j);
       end;
       znr:=znr+6;
   end;
 sx.free;
end;
also ich kann den fehler nicht nachvollziehen.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
BlueBong

Registriert seit: 11. Nov 2004
27 Beiträge
 
#10

Re: Array Problem

  Alt 14. Nov 2004, 22:40
Ich ja auch nicht. Das ist mein Problem.
Hab es nun aber einach mal ganz neu probiert.

Und nun hat es geklappt.

MfG Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz