Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Listenindex überschreitet Maximum(1) (https://www.delphipraxis.net/170401-listenindex-ueberschreitet-maximum-1-a.html)

EWeiss 15. Sep 2012 17:07

AW: Listenindex überschreitet Maximum(1)
 
Zitat:

Man glaubt es kaum, aber der Debugger liefert genau die selben ergebnisse und das sogar schneller/einfacher.
Aber nicht wenn es um Facebook geht
Die brauchen keinen Debugger die machen alles selbst.

gruss

DelphiUser1 15. Sep 2012 19:09

AW: Listenindex überschreitet Maximum(1)
 
Wenn wir schonmal dabei sind:
Ich will jetzt Informationen einer Checklistbox abspeichern, so wie unten gecoded klappt das auch, aber ich will das er die Informationen nicht in fa sondern in sd mit abspeichert (2)
Ideen?
(1)
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
for i := 0 to Checklistbox1.Items.Count-1 do
begin
if Checklistbox1.Checked[i] then
fa:=TstringList.Create;
fa.Add(Checklistbox1.Items[i])
end;

(2)
procedure TReg.Button1Click(Sender: TObject);
var sl, sd: TStrings;
i: Integer;
begin
sl := TStringlist.Create;
sl.add(Edit1.Text);
sl.savetofile(path+ Edit2.Text +'.txt');
sd :=TStringlist.Create;
sd.Add(Form1.Edit3.Text);
sd.Add(Form1.Edit4.Text);
sd.Add(Form1.MaskEdit1.Text);
sd.Add(Form1.Edit6.Text);
sd.Add(Form1.ComboBox3.Text);
sd.SaveToFile(path+'Info'+Edit2.Text+'.txt');
sd.free;
sl.free;
Showmessage ('Sie haben erfolgreich ein Konto angelegt');
myForm.close;
Form1.Close;

stahli 15. Sep 2012 19:17

AW: Listenindex überschreitet Maximum(1)
 
Nur mal am Rande:
- Setze Deinen Quelltext in Delphi-Tags (das Helm-Symbol oben im Editor).
- Schau Dir mal alternativ zum Speichern TIniFile an. Dann stehen nicht nur die Werte in den Dateien sondern jeweils eine Bezeichnung und ein Wert.

GHorn 17. Sep 2012 10:31

AW: Listenindex überschreitet Maximum(1)
 
Zitat:

Ich habe das Problem gelöst, danke an alle die geholfen haben (:
Wäre nett, wenn Du andere an der Lösung teilhaben lässt :roll:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
  for i := 0 to Checklistbox1.Items.Count-1 do
    begin
      if Checklistbox1.Checked[i] then
        fa:=TstringList.Create;
      fa.Add(Checklistbox1.Items[i])
    end;
Wenn Du Deinen Text vernünftig einrücken würdest, könntest Du sehen, dass da das schließende "end;" fehlt. Außerdem erstellst Du in der For-Schleife jedesmal eine neue Stringliste. Ist das so gewollt? Wenn Checklistbox1.Checked[0] False ist, geht Dein f.Add(...) auf die Bretter :shock:

DelphiUser1 19. Sep 2012 11:13

AW: Listenindex überschreitet Maximum(1)
 
GHorn, danke für die Bemühungen, aber das war nicht mein Problem.
Inzwischen habe ich auch dieses Problem gelöst. Ja du hast recht ich lasse euch daran teilhaben:-D
Wie gesagt ich meinte das anders. Ich weiß schon wie ich das abspeichern kann, aber um den Sachverhalt genauer zu erklären:
Der User Registriert sich das erste Mal, er gibt die Informationen also ein und sie werden der Stringlist hinzugefügt. Dann wird eine neue Form erzeugt auf der man Benutzername und Passwort eingeben kann. Erst wenn der Benutzername eingegeben ist, sollen die Daten abgespeichert werden, da die Datei dem Nutzernamen entspricht. Mein Problem war, das ich die Items nicht in die Stringlist packen konnte, dabei ist es doch so leicht :o


Delphi-Quellcode:
procedure TReg.Button1Click(Sender: TObject);
var sl, sd: TStrings;
i:integer;
begin
  sl := TStringlist.Create;
  sl.add(Edit1.Text);
  sl.savetofile(path+ Edit2.Text +'.txt');
  sd :=TStringlist.Create;
sd.Add(Form1.Edit3.Text);
sd.Add(Form1.Edit4.Text);
sd.Add(Form1.MaskEdit1.Text);
sd.Add(Form1.Edit6.Text);
sd.Add(Form1.ComboBox3.Text);
  for i := 0 to Form1.Checklistbox1.Items.Count-1 do
    begin
      if Form1.Checklistbox1.Checked[i] then
      sd.Add(Form1.Checklistbox1.Items[i])
    end;
  sd.SaveToFile(path+'Info'+Edit2.Text+'.txt');
  sd.free;
  sl.free;
  Showmessage ('Sie haben erfolgreich ein Konto angelegt');
  myForm.close;
  Form1.Close;

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.
Seite 2 von 2     12   

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