AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suchfunktion mit Memo- und Editfeldern

Ein Thema von Andre3001 · begonnen am 20. Aug 2005 · letzter Beitrag vom 23. Aug 2005
Antwort Antwort
Andre3001

Registriert seit: 20. Aug 2005
2 Beiträge
 
Delphi 6 Personal
 
#1

Suchfunktion mit Memo- und Editfeldern

  Alt 20. Aug 2005, 14:59
Hallo,

auf der Suche nach einer Lösung für mein Problem bin ich auf Euer Forum gestoßen. Vielleicht kann mir ja hier jemand weiterhelfen, was echt klasse wär.

Am besten fang ich mal ganz vorn an, alles zu erklären. Mein Programm ist dazu da, Personen zwei Dinge zuzuordnen (einmal eine Abkürzung des Namens und ein oder mehrere Gegenstände). Dafür habe ich ein Formblatt, auf dem erstmal die Daten eingelesen und abgespeichert werden müssen. Das funktioniert so weit.


Auf einem zweiten Formblatt sind je drei Editfelder und darunter drei Memofelder. Die erste Spalte (1. Edit und 1. Memo) ist zuständig für den Namen, die zweite Spalte für die Abkürzungen und die dritte für die Gegenstände. Der Nutzer soll dann mit Hilfe einer Suchfunktion die Möglichkeit haben, entweder

a) einen Namen einzugeben (im ersten Editfeld)
=> woraufhin er als Ergebnis der Suche den Namen, die Abkürzung und alle dazugehörigen Gegenstände in den drei passenden Memofeldern angezeigt bekommt

b) eine Abkürzung einzugeben (im zweiten Editfeld)
=> woraufhin er als Ergebnis der Suche den Namen, die Abkürzung und alle dazugehörigen Gegenstände in den drei passenden Memofeldern angezeigt bekommt

c) einen Gegenstand einzugeben (im dritten Editfeld)
=> woraufhin alle Namen inkl. aller dazugehörigen Abkürzungen erscheinen sollen, die diesem Gegenstand zugeordnet wurden.


Soviel zur Theorie. Funktionieren tuts bei mir leider nicht und als Anfänger weiß ich auch nicht, wo ich das Problem angehen soll. Hoffentlich könnt ihr mir dabei helfen.

Mein Programm-Code sieht bisher so aus:

Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
  if edit1.Text <> 'then
  begin
    Zeiger:=start;
    while Zeiger^.Name <> Edit1.Text do
    begin
      Zeiger:=Zeiger^.Next;
    end;
    Memo1.Lines.add(Zeiger^.Name);
    Memo2.Lines.add(Zeiger^.Kuerzel);
    Memo3.Lines.add(Zeiger^.Gegenstand);
  end
  else if Edit2.Text <> 'then
  begin
    Zeiger:=start;
    while Zeiger^.Kuerzel <> Edit2.Text do
    begin
      Zeiger:=Zeiger^.Next;
    end;
    Memo1.Lines.add(Zeiger^.Name);
    Memo2.Lines.add(Zeiger^.Kuerzel);
    Memo3.Lines.add(Zeiger^.Gegenstand);
  end
  else if Edit3.Text <> 'then
  begin
    Zeiger:=start;
    while Zeiger^.Gegenstand <> Edit3.Text do
    begin
      Zeiger:=Zeiger^.Next;
    end;
    Memo1.Lines.add(Zeiger^.Name);
    Memo2.Lines.add(Zeiger^.Kuerzel);
    Memo3.Lines.add(Zeiger^.Gegenstand);
  end;
end;


Bin für jeden Tipp dankbar.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Suchfunktion mit Memo- und Editfeldern

  Alt 21. Aug 2005, 17:26
was ist der Fehler? Gibt es eine Access-Violation?
folgendes führt zum fehler wenn kein suchergebnis gefunden wurde
Delphi-Quellcode:
while Zeiger^.Name <> Edit1.Text do
begin
  Zeiger:=Zeiger^.Next;
end;
Denn Wenn Zeiter.Next nil ist dann ist Zeiger danach auch nil und bei Zeiger^.Name knallts dann.
Dementsprechend muss es so aussehen

Delphi-Quellcode:
while Assigned(Zeiger) and (Zeiger^.Name <> Edit1.Text) do
begin
  Zeiger:=Zeiger^.Next;
end;
und hinter der Schleife darfst du dann natürlich auch nur das Ergebnis anzeigen wenn etwas gefunden wurde
Delphi-Quellcode:
if Assigned(Zeiger) then
begin
  Memo1.Lines.add(Zeiger^.Name);
  Memo2.Lines.add(Zeiger^.Kuerzel);
  Memo3.Lines.add(Zeiger^.Gegenstand);
end else
  ShowMessage('nix gefunden');
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Andre3001

Registriert seit: 20. Aug 2005
2 Beiträge
 
Delphi 6 Personal
 
#3

Re: Suchfunktion mit Memo- und Editfeldern

  Alt 23. Aug 2005, 18:51
Dank Deiner Hilfe funktioniert die Suche jetzt.

Es gibt zwar noch einige Probleme im Programm, aber die versuch ich jetzt erstmal selbst zu beheben. Wenn nicht hörst du von mir .
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:47 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