| Autor |
Beitrag |
Knedcox
      
Beiträge: 79
|
Verfasst: Mi 24.08.05 12:06
Mein Programm soll beim Speichern eines Namens den ersten Buchstaben als großen Buchstaben speichern und die folgenden als Kleinbuchstaben. Hab das so probiert:
Delphi-Quelltext 1:
| start^.Name:=(AnsiLowerCase(Memo1.lines.Text), AnsiUpperCase(Memo1.lines.Text[1])); |
Als Fehlermeldung bringt er jetzt aber, dass er in der Mitte kein Komma, sondern ein END erwartet. Hab den Code aber hier aus einem Thread raus und weiß nicht, warum er nicht funktioniert.
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 24.08.05 12:21
Moin!
Knedcox hat folgendes geschrieben: | | Als Fehlermeldung bringt er jetzt aber, dass er in der Mitte kein Komma, sondern ein END erwartet. Hab den Code aber hier aus einem Thread raus und weiß nicht, warum er nicht funktioniert. |
Delphi-Quelltext 1:
| start^.Name:=(AnsiLowerCase(Memo1.lines.Text) + AnsiUpperCase(Memo1.lines.Text[1])); |
Du darfst die Strings nicht mit Komma verketten, sondern mit "+". Aber der Code wird nicht das gewünschte Ergenis bringen; naja, ein bischen sollst du aber auch noch selbst experimentieren...
cu
Narses
|
|
Knedcox 
      
Beiträge: 79
|
Verfasst: Mi 24.08.05 12:41
Hab den Fehler entdeckt. Er speichert jetzt den ersten Buchstaben zwei Mal (einmal groß und einmal klein). Jetzt wollt ich das Problem lösen, in dem ich den Code folgendermaßen abgeändert hab:
Delphi-Quelltext 1:
| start^.Name:=AnsiUpperCase(Memo1.Lines.Text[1]) + AnsiLowerCase(Memo1.lines.Text[2..50]); |
Allerdings scheint man das Problem nicht so zu lösen  . Hab auch keine Ahnung, wo ich so ein Problem nachlesen könnte. In der Delphi-Hilfe hab ich erst gar nichts zu AnsiUpper/LowerCase gefunden...
Willst du mir nicht vielleicht doch noch mal auf die Sprünge helfen  .
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Mi 24.08.05 12:47
Delphi-Quelltext 1:
| start^.Name:=AnsiUpperCase(Memo1.Lines.Text[1]) + AnsiLowerCase(copy(Memo1.lines.Text,2,maxint)); |
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
LH_Freak
      
Beiträge: 385
Win XP
D7 PE, D2k5 Trial
|
Verfasst: Mi 24.08.05 12:50
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| var Str: String; begin Str := ansilowercase(Memo1.Lines.Text[1]); Str[1] := ansiUpperCase(Str[1]); start^.Name := Str; |
Habs zwar nicht getestet, aber denke mal das geht.
|
|
Knedcox 
      
Beiträge: 79
|
Verfasst: Mi 24.08.05 12:54
Merci, jetzt funktionierts.
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Mi 24.08.05 13:03
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
Knedcox 
      
Beiträge: 79
|
Verfasst: Mi 24.08.05 13:48
Ja, das Speichern funktioniert jetzt korrekt. Merci dafür schon mal.
Bei der Suche in Editfeldern möchte ich gern das Gleiche machen. Man soll also, egal ob Groß- oder Kleinschreibung, nach einem Begriff suchen können, das Programm soll dann das eingegebene Wort anpassen (1. Buchstabe groß, die folgenden klein) und dann die Suche starten.
Er sucht und findets, wenn man es nach dem Schema (1. Buchstabe groß, die folgenden klein) eingibt. Wenn man allerdings alles klein oder alles groß schreibt, wandelt er es nicht um und findet es somit auch nicht. Muss man den Befehl in einem Edit-Feld anders formulieren?
|
|
LH_Freak
      
Beiträge: 385
Win XP
D7 PE, D2k5 Trial
|
Verfasst: Mi 24.08.05 18:57
wie suchst du denn? mit einem Dialog, oder per Prozedur.
Dialog
Einfach den Haken bei Groß und Kleinschreibung beachten rausnehmen
Prozedur
Würde es weiterhelfen zu wissen, mit welcher Prozedur du suchst ^^
|
|
Knedcox 
      
Beiträge: 79
|
Verfasst: Mi 24.08.05 19:04
Prozedur:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54:
| if (edit1.Text <> '') and (edit2.text <> '') and (edit3.text <> '') then Application.MessageBox('Bitte nur nach einem Suchbegriff suchen.','Hinweis',MB_OK) else if (edit1.Text <> '') and (edit2.text <> '') and (edit3.text = '') then Application.MessageBox('Bitte nur nach einem Suchbegriff suchen.','Hinweis',MB_OK) else if (edit1.Text <> '') and (edit3.text <> '') and (edit2.text = '') then Application.MessageBox('Bitte nur nach einem Suchbegriff suchen.','Hinweis',MB_OK) else if (edit2.Text <> '') and (edit3.text <> '') and (edit1.text = '') then Application.MessageBox('Bitte nur nach einem Suchbegriff suchen.','Hinweis',MB_OK) else
if (edit1.Text <> '') and (edit2.text = '') and (edit3.text = '') then begin Zeiger:=start; while (Assigned(Zeiger)) and (Zeiger^.Name <> Edit1.Text) do begin Zeiger:=Zeiger^.Next; end; if Assigned(zeiger) then begin Memo1.Lines.add(Zeiger^.Name); Memo2.Lines.add(Zeiger^.Kuerzel); Memo3.Lines.add(Zeiger^.Gegenstand); end else Application.MessageBox('Suchbegriff nicht vorhanden.','Hinweis',MB_OK); end else if (Edit2.Text <> '') and (edit1.text = '') and (edit3.text = '') then begin Zeiger:=start; while (Assigned(Zeiger)) and (Zeiger^.Kuerzel <> Edit2.Text) do begin Zeiger:=Zeiger^.Next; end; if Assigned(zeiger) then begin Memo1.Lines.add(Zeiger^.Name); Memo2.Lines.add(Zeiger^.Kuerzel); Memo3.Lines.add(Zeiger^.Gegenstand); end else Application.MessageBox('Suchbegriff nicht vorhanden.','Hinweis',MB_OK); end else if (Edit3.Text <> '') and (edit2.text = '') and (edit1.text = '') then begin Zeiger:=start; while (Assigned(Zeiger)) and (Zeiger^.Gegenstand<> Edit3.Text) do begin Zeiger:=Zeiger^.Next; end; if Assigned(zeiger) then begin Memo1.Lines.add(Zeiger^.Name); Memo2.Lines.add(Zeiger^.Kuerzel); Memo3.Lines.add(Zeiger^.Gegenstand); end else Application.MessageBox('Suchbegriff nicht vorhanden.','Hinweis',MB_OK); end; |
|
|
LH_Freak
      
Beiträge: 385
Win XP
D7 PE, D2k5 Trial
|
Verfasst: Mi 24.08.05 19:11
Mir sagt das im Mom gar nichts
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 24.08.05 22:45
Moin!
Dein Code ist eine riesig große Redundanz und total undurchsichtig. Wo ist denn da die Fehlerstelle? Und was soll der Code eingentlich tun? Vielleicht wäre die eine oder andere Deklaration hilfreich, damit man weiß, was du da überhaupt tust...
cu
Narses
|
|
|