![]() |
Re: In Datenbank(Edit1.Txt) suchen
MMh. Das Problem ist, nachdem ich meinen Lehrer gefragt habe, meint der, dass ich das anders lösen MUSS. Das heißt, auch wenn die Lösung oben einfach und besser ist, ich "aufgrund des Lehrplans" es jetzt so "einfach"(schuleinfach) wie möglich machen muss, damits der ganze Kurs versteht...
Ist es nicht möglich, dass ich das einfach umgehe indem ich die Editfelder doppelt benutze? Also Datensatz eingeben, als auch als Suchfelder? LG |
Re: In Datenbank(Edit1.Txt) suchen
Was haben denn jetzt die Edits mit Deinem Record zu tun?
|
Re: In Datenbank(Edit1.Txt) suchen
Naja, ich hab z.B.:
Das Edit1 für den Namen Das Edit2 für den Vorname Nun gebe ich im Edit1 was ein und schon wirds angezeigt. Dafür muss ich ja das was ich eingegeben hab auch in diesem Record suchen! Lg |
Re: In Datenbank(Edit1.Txt) suchen
Aus Anwendersicht würde ich doch annehmen, dass, wenn ich im Edit für den Nachnamen "Meier" eingebe, auch nur nach dem Nachnamen "Meier" gesucht wird und nicht z.B. in der Telefonnummer.
|
Re: In Datenbank(Edit1.Txt) suchen
Wäre also das hier theoretisch möglich?
Delphi-Quellcode:
if Pos(AnsiUpperCase(Name), AnsiUpperCase(EdName.Text)) > 0 then
begin ShowMessage('asd'); end; |
Re: In Datenbank(Edit1.Txt) suchen
Wenn die Parameter andersherum wären, sähe das schon ganz brauchbar aus ;)
|
Re: In Datenbank(Edit1.Txt) suchen
@xv300
Wieso mußt du in Edits suchen? Was in Edits ist das sieht der Nutzer. Du mußt in deiner Datenbank suchen, bzw. die komplett Datensatz für Datensatz laden und jedes Feld prüfen. Aber, hast du schon was von Funktionen gehört? Du schreibst eine Funktion und benutzt sie bei jedem Feld. |
Re: In Datenbank(Edit1.Txt) suchen
Kenn ich, führen wir aber erst später im Unterricht ein ;)
Nur wie such ich denn jetzt speziell in dieser Datenbank? Den Fehler hab ich verstanden! LG |
Re: In Datenbank(Edit1.Txt) suchen
Hallo nochmal,
so ich habe mir jetzt mal die Funktion von Popov aus #51 angesehen. In dieser Funktion, ist alles enthalten, was Du benötigen tust.
Delphi-Quellcode:
Beim Form.Create, wird die Datenbank geladen und in einem Memo zur anzeige gebracht.
procedure TForm1.FormCreate(Sender: TObject);
begin DBTextPath := ExtractFilePath(ParamStr(0)) + 'Datensatz1.csv'; //Datenbank in Var. laden Memo1.Lines.LoadFromFile(DBTextPath); //Datenbank in Memo anzeigen end;
Delphi-Quellcode:
Probier diese Funktion doch mal aus, und du wirst sehen, das es eigendlich ganz einfach ist.
procedure TForm1.Button1Click(Sender: TObject);
const D = ';'; var i: Integer; sl: TStringList; begin sl := TStringList.Create; try sl.LoadFromFile(DBTextPath); //Der Inhalt der Datenbank, wird in eine Stringliste geladen for i := 0 to sl.Count - 1 do begin if AnsiContainsText(sl[i], Edit1.Text) then //Vergleich der Stringliste mit deiner Suchanfrage im Edit1 begin Edit2.Text := GetTextN(sl[i], 0, D); //Wenn suche Erfolgreich, dann wird der Datensatz über die Funktion Edit3.Text := GetTextN(sl[i], 1, D); //GetTextN geladen Edit4.Text := GetTextN(sl[i], 2, D); Edit5.Text := GetTextN(sl[i], 3, D); Edit6.Text := GetTextN(sl[i], 4, D); //Hier zum Beispiel, Teil 5 des Strings, bis zum nächsten ';' Edit7.Text := GetTextN(sl[i], 5, D); //Hier String 6, da D=';' Break; end; end; finally sl.Free; end; end; Gruß Jens |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:24 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