AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Kontaktmanager: Ladeschleif funktioniert nicht!
Thema durchsuchen
Ansicht
Themen-Optionen

Kontaktmanager: Ladeschleif funktioniert nicht!

Ein Thema von Neutron · begonnen am 21. Mär 2006 · letzter Beitrag vom 21. Mär 2006
 
Neutron

Registriert seit: 14. Mär 2006
47 Beiträge
 
Delphi 2006 Professional
 
#1

Kontaktmanager: Ladeschleif funktioniert nicht!

  Alt 21. Mär 2006, 10:01
Hallo Leute!
Bitte helft mir ich sitze gerade an einem Kontaktmanager und es kommen massig Probleme auf mich zu!

Zum Verständnis:
Ich speichere die Daten (Name, Nachname, Alter, Wohnort, usw..) in einen Stream Diese Daten speichere ich dann in
einen Unterordner da es viele verschiedene Kontakte(Torben, Otto, Hans, Peter) sind benenne ich die Daten in 1.OKM, 2.OKM, 3.OKM,
4.OKM, usw. Die Zahl ist abhängig von dem Listbox.ItemIndex d.h.:
Peter hat den Index 0 also Speichert er Peter als 0.OKM!

Zum Anfang werden diese Kontakte in einer Schleife geladen. Genau diese Schleife funktioniert nicht!
Hier der Quelltext:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var
I : Integer;
S : String;
U : String;
begin
Form2.Listbox1.Items.LoadFromFile(ExtractFilePath(Application.ExeName)+'Speicher\LB.OKI');
S := Form2.Listbox1.Items.Strings[0];
Form2.ListBox1.Clear;
  for I := 0 to StrtoInt(S) do
    begin
    Count := Count + 1;
    Loadanfang;
    Listbox1.Items.Add(Edit13.Text+' '+Edit14.Text);
    end;
U := ExtractFilePath(Application.ExeName)+'Speicher\LB.OKI';
DeleteFile(U);
Application.OnIdle := IdleHandler;
Listbox1.ItemIndex := 0;
Laden;
end;
So das ist die OnShow procedure diese ruft in der Schleife die procedure Loadanfang; auf:

Delphi-Quellcode:
procedure TForm1.Loadanfang;
var
  Daten: TDatenArray;
  Stream: TStream;
  I: Integer;
  Len: Longint;
begin
  Stream := TFileStream.Create(ExtractFilePath(Application.ExeName)+'Speicher\Daten\'+IntToStr(Count)+'.OKM', fmOpenRead);
  try
    Stream.Read(Len, SizeOf(Len));
    SetLength(Daten, Len);
    for I := 0 to Len - 1 do
    begin
      Stream.Read(Daten[I].ID, SizeOf(Daten[I].ID));
      Stream.Read(Len,SizeOf(Len));
      SetLength(Daten[I].Name, Len);
      Stream.Read(PChar(Daten[I].Name)^, Len);
    end;
  finally
  Stream.Free;
  end;
Edit13.Text := Daten[0].Name;
Edit14.Text := Daten[1].Name;
end;
Und hier ist noch die IdleHandler procedure:

Delphi-Quellcode:
procedure TForm1.IdleHandler(Sender: TObject; var Done: Boolean);
begin
  Count := Listbox1.ItemIndex;
  Sleep(1);
  Done:= false;
end;
So vielleicht steigt ihr ja durch und findet einen Fehler!
Wenn euch was unklar ist dann fragt ruhig!!!
  Mit Zitat antworten Zitat
 


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 05:14 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