![]() |
Mehrere Dateien laden und...
hallo
habe mehrere Dateien in denen ich unterschiedliche Sachen speichere. Diese möchte ich nicht immer bei bedarf laden sondern um die benötigten Daten schnell anzubieten beim Programmstart laden und immer halt verfügbar haben! Es handelt sich dabei nur um ASCII Dateien in denen Zeilenweise Informationen a la Frank Msuterman#Musterweg8 natürlich in der dazu passenden DAT Datei in diesem Falle M ;) Wie könnte ich nun halt diese im Programm immer geladen halten. Wichtig ist auch das ich die Einträge innerhalb verschieben kann Also in der Liste m steht an Platz 6 Mama und am Platz 88 Mond --- diese beiden müssen halt den Platz tauschen können! hatte an 26 StringList gedacht diese beim Start halt erstellen - aber ich weis nicht ob ich 26 benötige oder 30 (es kommt NICHT nur das ABC) in frage! Also müsste ich Dynamisch diese StringList erstellen aber wie?! ich kann das nur während der Design Time machen?! Gibt es noch bessere Ideen?! |
Re: Mehrere Dateien laden und...
Hallo
Du koenntest z.B in einer TObjectList die TStringlists verwalten. |
Re: Mehrere Dateien laden und...
TObjectList? habe ich noch nie gehört *ups*
Was hat es damit genau aufsich? |
Re: Mehrere Dateien laden und...
--> Delphi Hilfe --> TObjectList suchen :wink:
|
Re: Mehrere Dateien laden und...
ha was glaubst was cih schon machte -
ich schreie nie ohne nicht vorher zu suchen nun habe ich 3 stunden kange gesucht und probiert! das mein result - nix geht!
Delphi-Quellcode:
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, contnrs; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; MyList: TObjectList; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var MyList: TObjectList; k, m: TStringList; i: integer; begin MyList := TObjectList.Create; k := TStringList.Create; for i := 0 to 99999 do begin k.add('dffg'); MyList.Add(k); end; end; procedure TForm1.Button3Click(Sender: TObject); begin ShowMessage(IntToStr(MyList.count)); end; procedure TForm1.FormCreate(Sender: TObject); begin MyList := TObjectList.Create(True); end; end. Die Message ist immer 0 nix drinn ;( |
Re: Mehrere Dateien laden und...
Ein Wunder, dass du immer 0 als Count erhältst. Es könnte auch eine Zugriffsverletzung entstehen. Du hast MyList ja lokal in einem event handler deklariert.
Grüße vom marabu |
Re: Mehrere Dateien laden und...
was soviel bedeutet?
|
Re: Mehrere Dateien laden und...
Kein Wunder, denn die globale Variable wird im OnCreate initialisiert ....
Aber du solltest im Button1Click nicht mit der lokalen Variable arbeiten ;) |
Re: Mehrere Dateien laden und...
Hi!
Nach Verlassen der Prozedur Button1Click sind natürlich auch deren lokale Variablen weg - somit auch deine Liste. Deshalb besser als globale Variable oder noch viel besser als Private. Ciao Frederic |
Re: Mehrere Dateien laden und...
Hallo Batman,
wenn du keinen wirklich guten Grund dafür hast, solltest du die Daten nicht in 26+ einzelnen Dateien verwalten. Wenn die Strings alpha-sortiert werden dürfen, dann bist du mit einer sortierten StringList wahrscheinlich besser beraten. Man kann dazu - wenn es denn sein muss - immer noch eine JumpList pflegen, über die einzelne Abschnitte direkt zugänglich werden. marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz