Autor |
Beitrag |
rubooo
      
Beiträge: 52
WIN XP
Delphi 2005 Prof
|
Verfasst: Sa 07.05.05 15:49
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); var a: Char; zeilennr: array[1..66] of Integer; begin a := ['a']; if Edit1.Text[zeilennr] in a then Edit2.Text := '1' else ShowMessage('Fehler!'); end; |
wenn ich diesen Code aber nun compilieren will dann spuck mir Delphi das aus ::
Zitat: | Incompatible Types: 'Integer' and 'Array'! |
Kann ich das trotzdem irgendwie hinbekommen das es läuft?
oder kann ich anders angeben wenn ein 'a' in edit1.Text ist das eine '1' in edit2.Text erscheint !
danke für alle antworten !
ps:ich prog erst ein paar wochen
Moderiert von raziel: Delphi- und Quote-Tags hinzugefügt.
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Sa 07.05.05 15:54
 im DF!!
Also ich werde aus deinem Code leider nicht schlau.
Vor allem das da:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); var a: Char; zeilennr: array[1..66] of Integer; begin a := ['a']; if Edit1.Text[zeilennr] in a then Edit2.Text := '4' else ShowMessage('Fehler!'); end; |
verwirrt mich. Edit-Felder haben keine Zeilen auf die du zugreifen kannst.  Du hast nur einen langen String, den du ja auch schon gefunden hast: Edit1.Text.
Ich glaube, es wäre am besten, wenn du einfach versuchst, zu erklären, was du machen möchtest.
PS.: Du kannst deinen Code (bzw. solltest) in Delphi-Tags setzten. Einfach oben auf  klicken und abändern. 
|
|
der_zaehe
      
Beiträge: 317
WinXP SP2
D6 Pers, D2005 Prof, VS2005
|
Verfasst: Sa 07.05.05 16:04
_________________ [inspirationslos]
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Sa 07.05.05 16:50
Aber aufpassen, nicht "String" als Variable verwenden, da "String" ein reserviertes Wort in Delphi ist!
Delphi-Quelltext 1: 2:
| var MyString: String; |
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
rubooo 
      
Beiträge: 52
WIN XP
Delphi 2005 Prof
|
Verfasst: So 08.05.05 02:26
ich glaube ich beschreibe lieber was ich coden will  !
also ! es soll überprüft werden: wenn in der ersten edit-Komponente (edit1.Text) sich ein a (der buchstabe) befindet, soll eine 1 (die zahl) in der zweiten edit-Komponente (edit2.Text) angezeigt werden. Un dieser Vorgang bei dem Klick auf den button !
Kann ich den code auch direkt ins Form einbinden ! so das sich es sofort beim eingeben ändert???
hoffe ich habe es gut und verständlich formuliert !
danke
|
|
Blackheart
      
Beiträge: 164
ME
D3Prof.-D6Standard
|
Verfasst: So 08.05.05 03:02
|
|
rubooo 
      
Beiträge: 52
WIN XP
Delphi 2005 Prof
|
Verfasst: So 08.05.05 03:23
ja aber wenn ich mehrere a's in der zeile habe dann zeigt er mir sie nicht alle als 1 an ! deswegen wollte ich ja das array machen weil die zeile 66 zeichen lang is ! un überall wo ein a ist soll ein 1 stehen ! 
|
|
Blackheart
      
Beiträge: 164
ME
D3Prof.-D6Standard
|
Verfasst: So 08.05.05 09:17
Dann machs mal so
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Text:=StringReplace(Memo1.Text,'a','1',[rfReplaceAll]); end; |
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: So 08.05.05 14:30
Delphi-Quelltext 1: 2:
| if Pos('a', Edit1.Text) <> 0 then Edit2.Text := 1; |
Das will er!
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Blackheart
      
Beiträge: 164
ME
D3Prof.-D6Standard
|
Verfasst: So 08.05.05 14:54
und überall wo ein a ist soll ein 1 stehen !
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.Button1Click(Sender: TObject); begin Edit2.Text:=StringReplace(Edit1.Text,'a','1',[rfReplaceAll]); end; |
|
|
rubooo 
      
Beiträge: 52
WIN XP
Delphi 2005 Prof
|
Verfasst: So 08.05.05 14:57
ne geht alles auch net  !
überall wo in edit1 ein a steht soll nach dem click auf button1 in edit2 eine 1 stehen!
aber es sollen auch noch nachher mehrere buchstaben eingesetzt werden !z.B: b = 2 usw ...
hier ist noch meine icq-uin :: 311432073
|
|
Blackheart
      
Beiträge: 164
ME
D3Prof.-D6Standard
|
Verfasst: So 08.05.05 15:03
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var TmpStr: string; begin TmpStr:= Edit1.Text; TmpStr := StringReplace(TmpStr, 'a', '1', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'b', '2', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'c', '3', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'd', '4', [rfReplaceAll, rfIgnoreCase]); Edit2.Text:=(TmpStr); end; |
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: So 08.05.05 16:05
Einen hab ich noch!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| Const ccSourceChars = 'abcdef'; ccDestChars = '123456'; Var i,j : Integer; s : String;
Begin s := edit1.Text; For i := 1 to length (s) do begin j := Pos (Copy (s,i,1), ccSourceChars); if j>0 then s[i] := ccDestChars[j]; end; edit2.Text := s; End; |
|
|
rubooo 
      
Beiträge: 52
WIN XP
Delphi 2005 Prof
|
Verfasst: So 08.05.05 17:36
danke @Blackheart deine methode war für mich noch am leichtesten zu verstehen ! an alle anderen danke für eure vielen antworten!
|
|