AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

Ein Thema von Lisaaaa · begonnen am 28. Nov 2017 · letzter Beitrag vom 30. Nov 2017
Antwort Antwort
Seite 3 von 7     123 45     Letzte » 
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.059 Beiträge
 
Delphi 10.4 Sydney
 
#21

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 14:45
Hallo,
auch mit dem break ist der Code nicht so schön lesbar.

Delphi-Quellcode:
var
  bGefunden: Boolean;
begin
  bGefunden:= False;
  for do
  begin
    if bla then
    begin
      bGefunden := True;
      break;
    end;
  end;

  if bGefunden
    then Label9.Caption := 'gefunden'
    else Label9.Caption := 'nicht gefunden';
Das ist genau die Art von Variablenbenennung und Codeformatierung, die man eigentlich nicht zeigen sollte.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.753 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 14:45
und vielleicht noch auf Gleichheit prüfen.
Es soll ja nicht Vanille gefunden werden - sondern Vanillekipferl.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Lisaaaa

Registriert seit: 28. Nov 2017
18 Beiträge
 
#23

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 14:49
Hast du einen passenden Quelltext ? Problem: Eingabe von 'hjb jj' -> 'nicht vorh.' Danach sofortige Eingabe 'Apfelrotkohl' -> 'nicht vorhanden'...Habe den eindruck, das Programm führt nichts aus nachdem man erneut auf button klickt und es eig sagen müsste 'vorh.'
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#24

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 14:52
Hier wurde schon einer geschrieben

Delphi-Quellcode:
Label9.Caption:='Das Rezept ist nicht in der Rezeptsammlung vorhanden!';
For s:=1 to 25 Do
begin
  If Pos (Uppercase(Gesucht),UpperCase(Rezept[s]))<> 0 Then
  begin
    Label9.Caption:='Das Rezept ist in der Rezeptsammlung vorhanden!';
    Break;
  end;
end;
  Mit Zitat antworten Zitat
Lisaaaa

Registriert seit: 28. Nov 2017
18 Beiträge
 
#25

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 14:57
Geht nicht. es sagt, dass es nicht vorhanden ist, egal ob es so ist oder nicht
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.059 Beiträge
 
Delphi 10.4 Sydney
 
#26

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 15:06
Geht nicht. es sagt, dass es nicht vorhanden ist, egal ob es so ist oder nicht
Zeig uns doch mal deine Konstanten (Apfelrotkohl, Currywurst...etc.).

Denn wenn ich das mal schnell runtertippe und die einzelnen Rezepte als Strings anstatt String-Konstanten schreibe, dann geht's:
Miniaturansicht angehängter Grafiken
rezept.jpg  
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 15:08
Hallo,
und dann bitte noch 2 Stellen optimieren

alt:
For s:=1 to 25 do
If Pos (Uppercase(Gesucht),UpperCase(Rezept[s]))<> 0 Then

neu:
For s:=Low(Rezept) to High(Rezept) do
If AnsiUpperPos(Gesucht,Rezept[s])<> 0 Then

Dann musst du bei einem neuen Rezept die 25 nicht jedesmal ändern.

Und Zählvariablen heissen immer i
(Das war ein Scherz )
Heiko
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#28

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 15:12
Delphi-Quellcode:
var
  Rezept : array[1..25] of string;
  i : Integer;
  Gesucht : String;
  Gefunden : Boolean;
begin
  Gesucht := UpperCase(Edit1.text);
  ...
  i := Low(Rezept);
  repeat
    Gefunden := Pos(Gesucht,UpperCase(Rezept[i])) <> 0;
    Inc(i);
  until Gefunden or (i > High(Rezept));
  Label9.Caption:= Format('Das Rezept ist %sin der Rezeptsammlung vorhanden!',[IfThen(Gefunden,'','nicht ')]);
end;
Die Variante aus http://www.delphipraxis.net/1387370-post19.html liefert bei mir korrekte Ergebnisse, wenn ich (ebenso wie TiGü) aus den Konstanten Zeichenfolgen mache.

Geändert von Delphi.Narium (28. Nov 2017 um 16:11 Uhr) Grund: fehlende Deklaration von Rezept ergänzt. Von Hoika weiter unten bemängelten Fehler behoben.
  Mit Zitat antworten Zitat
Lisaaaa

Registriert seit: 28. Nov 2017
18 Beiträge
 
#29

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 15:17
String exceeds line wird mir angezeigt
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#30

AW: Frage zu Rezeptsammlung-> Suchfunktion durch Array funktioniert nicht

  Alt 28. Nov 2017, 15:18
Wo?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:57 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