Autor Beitrag
read
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57

Win XP prof.
Delphi7 + Delphi2 Developer
BeitragVerfasst: 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 user profile iconPeter Lustig: Topic verschoben

_________________
Es gibt Tage da verliert man, und dann gibt es Tage da gewinnen die anderen
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
zahl:integer;
begin
...
zahl:=ord('z'//oder ein beliebiges zeichen
...


in diesem fall hätte die variable zahl den wert 122

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
read Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57

Win XP prof.
Delphi7 + Delphi2 Developer
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34

Win 98, ME
D4 Stand.
BeitragVerfasst: Mi 10.03.04 22:10 
Wie wäre es hiermit:

ausblenden Delphi-Quelltext
1:
2:
const
  MorseArray: array['a'..'z'of String = ('.-','.--','.---', usw....); // Kenne das Morsealphabet nicht


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.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
function CharToMorse(aChar: Char): String;
//          liefert MorseCode zu aChar
begin
  if aChar in ['a'..'z']
  then Result := MorseArray[aChar]
  else Result := '';
end;


Gruß Loryn
read Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57

Win XP prof.
Delphi7 + Delphi2 Developer
BeitragVerfasst: Mi 10.03.04 22:13 
danke, werde es gleich mal ausprobieren :D

marco

_________________
Es gibt Tage da verliert man, und dann gibt es Tage da gewinnen die anderen
read Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57

Win XP prof.
Delphi7 + Delphi2 Developer
BeitragVerfasst: Do 11.03.04 14:57 
hi loryn

hab mal deinen code probiert....aber ich glaub ich mach was falsch :oops:
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

ausblenden volle Höhe Delphi-Quelltext
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;
//          liefert MorseCode zu aChar
 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 user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt

_________________
Es gibt Tage da verliert man, und dann gibt es Tage da gewinnen die anderen
Loryn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34

Win 98, ME
D4 Stand.
BeitragVerfasst: Do 11.03.04 15:59 
Hallo marco,

Dein Problem liegt hier:

ausblenden 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:

ausblenden 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; // ist jetzt leer
  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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 103

Alle Win´s
D5 Prof
BeitragVerfasst: 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?