![]() |
Re: Postleitzahl mit Ort verknüpfen
Hallo Marabu
Zitat:
Zitat:
Delphi-Quellcode:
hab's dann zum Programmende wieder freigegeben, kommt aber folgende meldung
var
MyList: THashedStringList; ... begin MyList := THashedStringList.Create; MyList.LoadFromFile( ExtractFilePath(Application.ExeName) + 'plzDat.txt'); ... Zitat:
Delphi-Quellcode:
Mir ist nicht ganz klar wie ich das machen muss. Ist aber auch vielleicht nicht ganz so wichtig, ist ja auch so ganz schön schnell.
procedure TForm1.FormDestroy(Sender: TObject);
var MyList: THashedStringList; begin MyList.Free; end; Grüße Steven |
Re: Postleitzahl mit Ort verknüpfen
Moin :-)
So müsstes du das machen, um die StringList beim Programmstart einmalig zu laden und bei Programmende wieder freizugeben:
Delphi-Quellcode:
Also im Pronzip recht simpel: MyList als private deklarieren, im FormCreate erzeugen und laden, Suchläufe beliebig oft durchführen und im FormDestroy() MyList wieder freigeben...
...
private { Private declarations } MyList: THashedStringList; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin MyList := THashedStringList.Create; MyList.LoadFromFile( ExtractFilePath(Application.ExeName) + 'plzDat.txt'); ... end; //--angepasste proc von ACE-ppc: procedure TForm1.Button8Click(Sender: TObject); var Index: Integer; begin index := MyList.IndexOfName(PlzEdit.Text + ' '); If index > -1 Then OrtEdit.Text := Trim(MyList.ValueFromIndex[index]); end; //--jetzte erst die Liste freigeben procedure TForm1.FormDestroy(Sender: TObject); begin ... MyList.Free; ... end; |
Re: Postleitzahl mit Ort verknüpfen
Hallo Raiguen. Dankeschön für die Hilfe.
Eine letzte Frage habe ich doch noch zu dem Thema, können auch andere Trenner verwendet werden anstatt 01054 = Dresden auch sowas 01054;Dresden? ich habs versuch, bekomme aber nichts angezeigt.
Delphi-Quellcode:
Grüsse, Steven
procedure TForm3.Button1Click(Sender: TObject);
var MyList: THashedStringList; Index: Integer; begin MyList := THashedStringList.Create; MyList.LoadFromFile( ExtractFilePath(Application.ExeName) + 'plzdat.txt'); try index := MyList.IndexOfName(Plz_edit.Text + ' '); // hier hab ich schon einiges ausprobiert If index > -1 Then Ort_edit.Text := Trim(MyList.ValueFromIndex[index]); finally MyList.Free; end; end; |
Re: Postleitzahl mit Ort verknüpfen
Hallo Steven,
das Trennzeichen ist standardmäßig ein Gleichheitszeichen, aber du kannst über die Eigenschaft NameValueSeparator auch fast jedes andere Zeichen einstellen. Die Tatsache, dass es sich um ein einziges Zeichen handelt, ist auch Schuld daran, dass ich beim Suchen eine Leerstelle anhängen und beim gefundenen Eintrag die führende Leerstelle mit Trim() entfernen musste. Freundliche Grüße |
Re: Postleitzahl mit Ort verknüpfen
Hallo marabu
und schon wieder was gelernt. [EDIT] funktioniert super :) Danke Steven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 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