Autor Beitrag
Delphi Noob
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24

win xp
D6 Enterprise
BeitragVerfasst: Di 08.03.05 18:06 
Ich hab folgendes Problem bei den Buchtstaben Butttons a-z :
Um zu überprüfen ob der buchstabe im wort vorkommt hab ich folgendes geschrieben
ich hab zwei strings gemacht einmal suchwort und wort wort:=edit1.text;
und suchwort:=label1.caption; also das sternchen wort was da steht auf dem formular

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var suchwort,buchstabe:char; wort:string; i:integer;
begin 
buchstabe:'a';
for i:=1 to length(wort) do 
if
wort[i]=buchstabe
then 
suchwort[i]:=buchstabe;
label1.caption:=suchwort;


so und jetzt ist das ziemlich umständlich das für jeden button neu zu schreiben nur um buchstabe z.b. in buchstabe:='b' zu verändern. Habt ihr ne idee wie man das so schreiben kann das man für b-z nur auf die prozedur für buttonA verweisen muss???

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 08.03.05 18:11 
Da kannst du dir einfach eine Funktion schreiben, an die du dann den Buchstaben und das Wort übergibst und die sagt dir dann an welcher Stelle es ist. Such einfach mal im DF, irgendwo hab ich soeine Funktion gesehen. ;)
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 08.03.05 18:24 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
    wort:= label1.caption;
    for i:= 1 to length(edit1.text) do 
      begin
        if edit1.text[i] = edit2.text then 
          begin
            delete(wort,i,1);
            Insert(edit1.text[i], wort, i);
            PlaySound('richtig',HInstance, snd_ASync or snd_Memory or snd_Resource);
          end;
        label1.caption:= wort;
      end;
if pos(edit2.text, edit1.text) = 0 then 
  fehler:= fehler + 1;

so hab ich das in etwas gemacht (nur codeschnippsel)


ich habe das label mit den strichen (label1)

edit2, wo man die buchstaben reintragen muss, in deinem fall die buttons

und edit1.text ist das lösungswort