AGB  ·  Datenschutz  ·  Impressum  







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

AV - Wo?

Ein Thema von fwsp · begonnen am 22. Mai 2006 · letzter Beitrag vom 23. Mai 2006
Antwort Antwort
fwsp
(Gast)

n/a Beiträge
 
#1

AV - Wo?

  Alt 22. Mai 2006, 23:32
hallo

Ich krieg immer ne AV, weiß net wo...

ich will ne datei auslesen die wie folgt aufgebaut ist:
Code:
123  AbiTools
156  Musik.Suite
156  Musik.Suite
123  AbiTools
156  Musik.Suite
156  Musik.Suite
123  AbiTools
156  Musik.Suite
156  Musik.Suite
123  AbiTools
156  Musik.Suite
156  Musik.Suite
123  AbiTools
und zwar will ich die in ein record einlesen:
Delphi-Quellcode:
type
  TProjekt = record
    ID: Integer;
    Name: String;
    Dateien: array of String;
end;
und das in der prozedur:
Delphi-Quellcode:
procedure LoadProjectList(Datei: TStrings; var Tree: TTreeView;
  var Prj: array of TProjekt);
var
  i: Integer;
  Root: TTreeNode;
begin
  Root := Tree.Items.AddFirst(nil, 'Projekte');
  for i := 0 to (Datei.Count - 1) do
  begin
    Prj[i].ID := StrToInt(Trim(Copy(Datei[i], 1, 5)));
    Prj[i].Name := Copy(Datei[i], 6, (Length(Datei[i]) - 5));
    Tree.Items.AddChild(Root, Prj[i].Name);
  end;
end;
die prozedur ruf ich so auf:
Delphi-Quellcode:
ProjekteDatei := TStringList.Create;
ProjekteDatei.LoadFromFile(UGlobal.PDir + 'Einstellungen/Projekte.pof');
ULAS.LoadProjectList(ProjekteDatei, TreeViewProjekte, Projekt);
ProjekteDatei.Free;
wo ist der fehler?
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#2

Re: AV - Wo?

  Alt 22. Mai 2006, 23:47
Hi,

Die Variable "Projekt" ist sicher von Typ "array of TProjekt", oder? Ist das Array denn auch groß genug?
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#3

Re: AV - Wo?

  Alt 22. Mai 2006, 23:52
Zuerst einmal ein Schönheitsfehler:

procedure LoadProjectList(Datei: TStrings; var Tree: TTreeView; var Prj: array of TProjekt); Tree musst du nicht als Var-Parameter angeben. Kannst du Weg lassen oder const angeben.

Hast du die Größe von Prj vorher definiert? Wieviele Items besitzt "Prj".

Zeig doch mal die aufrufende Procedure.


Gerd
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: AV - Wo?

  Alt 23. Mai 2006, 00:31
Hallo Friedrich,

Daniel und Gerd haben es schon angedeutet: das Array Prj ist wahrscheinlich nicht dimensioniert. Da du die benötigte Größe erst nach dem Laden der Datei "Projekte.pof" kennst, solltest du die Dimensionierung vielleicht in der Prozedur vornehmen:

SetLength (Prj, Datei.Count); Gruß Hawkeye
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#5

Re: AV - Wo?

  Alt 23. Mai 2006, 09:49
es ist des lernens kein ende, obwohl ich darauf auch alleine hätte kommen müssen.
trotzdem danke.
  Mit Zitat antworten Zitat
Antwort Antwort


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