Autor |
Beitrag |
read
      
Beiträge: 57
Win XP prof.
Delphi7 + Delphi2 Developer
|
Verfasst: Mi 10.03.04 21:00
hi @ all
okay ist vielleicht 'ne dumme frage - bin newbie und habe volle blockade
also ich will buchstaben zahlen zuweisen und umgekehrt - also a=1, b=2............
ich find keinen ansatz..wäre echt nett wenn mir jemand helfen könnte
mit besten dank an alle imvoraus
marco
Moderiert von Peter Lustig: Topic verschoben
_________________ Es gibt Tage da verliert man, und dann gibt es Tage da gewinnen die anderen
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: Mi 10.03.04 21:11
muss es sich dabei um eine bestimmte zahl handeln?
wenn es keine speziellen zahlen sein sollen kannst du die ascii zeichennummer benutzen:
und so gehts:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var zahl:integer; begin ... zahl:=ord('z') ... |
in diesem fall hätte die variable zahl den wert 122
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
read 
      
Beiträge: 57
Win XP prof.
Delphi7 + Delphi2 Developer
|
Verfasst: Mi 10.03.04 21:16
hallo patrick
ersteinmal danke für die schnelle antwort
also es sollten schon genaue zuweisungen sein...eigentlich will ich damit ne zurodnung des morsealphabets machen
die frage hatte ich halt so allgemein gehalten, weil ich dacht das es egal ist ob ich sage a='1', oder ob ich sage a='.-'
mfg
marco
_________________ Es gibt Tage da verliert man, und dann gibt es Tage da gewinnen die anderen
|
|
Loryn
      
Beiträge: 34
Win 98, ME
D4 Stand.
|
Verfasst: Mi 10.03.04 22:10
Wie wäre es hiermit:
Delphi-Quelltext 1: 2:
| const MorseArray: array['a'..'z'] of String = ('.-','.--','.---', usw....); |
MorseArray musst du natürlich mit den richtigen Strings füllen. Um jetzt einen Buchstaben in den Morsecode zu wandeln benutzt du nachfolgende Funktion CharToMorse.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| function CharToMorse(aChar: Char): String; begin if aChar in ['a'..'z'] then Result := MorseArray[aChar] else Result := ''; end; |
Gruß Loryn
|
|
read 
      
Beiträge: 57
Win XP prof.
Delphi7 + Delphi2 Developer
|
Verfasst: Mi 10.03.04 22:13
danke, werde es gleich mal ausprobieren
marco
_________________ Es gibt Tage da verliert man, und dann gibt es Tage da gewinnen die anderen
|
|
read 
      
Beiträge: 57
Win XP prof.
Delphi7 + Delphi2 Developer
|
Verfasst: Do 11.03.04 14:57
hi loryn
hab mal deinen code probiert....aber ich glaub ich mach was falsch
ich will in memo1 den klartext eingeben, und im memo2 soll dat ganze als morsezeichen dargestellt werden
das mit dem gleichzeitigen darstellen klappt....aber nicht als morsezeichen wenn ich die function aufrufe bleibt memo2 leer
hier mal der code bis jetzt
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:
| function CharToMorse(aChar: Char): String; const MorseArray: array['a'..'z'] of String=('.-','-...','-.-','-..','.','..-.', '--.','....','..','.---','-.-','.-..','--','-.','---','.--.','--.-','.-.', '...','-','..-','...-','.--','-..-','-.--','--..');
begin if aChar in ['a'..'z'] then begin Result := MorseArray[aChar] end else begin Result := ''; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin form1.Close; end;
procedure TForm1.FormCreate(Sender: TObject); begin memo1.Clear; memo2.Clear; end;
procedure TForm1.Memo1Change(Sender: TObject); var achar: char; begin memo2.Lines := memo1.lines; if memo1.text<>'' then memo2.text := CharToMorse(achar); end;
end. |
wenn du da den fehler findest, könntest du mir vielleicht helfen?
gruß
marco
Moderiert von Peter Lustig: Code- durch Delphi-Tags ersetzt
_________________ Es gibt Tage da verliert man, und dann gibt es Tage da gewinnen die anderen
|
|
Loryn
      
Beiträge: 34
Win 98, ME
D4 Stand.
|
Verfasst: Do 11.03.04 15:59
Hallo marco,
Dein Problem liegt hier:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Memo1Change(Sender: TObject); var achar: char; begin memo2.Lines := memo1.lines; if memo1.text<>'' then memo2.text := CharToMorse(achar); end |
aChar hat einen zufälligen Inhalt, da aChar nichts zugewiesen wurde.
Ausserdem sollte man von einem String und nicht von einem einzelnen Zeichen in memo1.text ausgehen.
Dann wäre folgendes zu tun:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Memo1Change(Sender: TObject); var S, MorseS: String; begin S := memo1.Text; memo2.Clear; MorseS := ''; for i := 1 to Length(S) do MorseS := MorseS+CharToMorse(S[i]); memo2.Text := MorseS; end; |
Ich habe es nicht ausprobiert, aber es müsste gehen.
Gruß Loryn
|
|
iGoA
      
Beiträge: 103
Alle Win´s
D5 Prof
|
Verfasst: Fr 12.03.04 12:34
Mal ne allgemeine Frage zum Morsecode:
Wenn ich mir das Gepiepe anhöre, woher weiß ich, wann ein Buchstabe aufhört bzw. ein neuer Anfäng, wenn ich den Anfang verpasst habe?
|
|