Autor |
Beitrag |
Künne
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 02.04.07 12:38
Hi @all,
bin neu hier im Forum und wage gerade meine ersten Schritte mit Delphi 6.
Versuche gerade ein Programm zu schreiben mit dem man Buchstebn inn Morsezeichen umwandeln kann und umgekehrt, Die Eingaben und Ausgaben habe ich in seperate Edit-Felder unterteilt. Für die Umwandlung wollte ich Buttons nehmen.
Kann mir jemand einen Tipp geben; ich bekomme keine funktionierende Procedure zustande und bin schon halb am verzweifeln
Danke schon im Vorraus für die Hilfe,
Furby.
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Mo 02.04.07 12:55
Mal auf die schnelle, so oder so ähnlich - vieleicht hilft Dir das etwas.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); begin if (Key='a') or (Key='A') then begin Memo1.Text:=Memo1.Text+'.-'; Memo1.SelStart:=Length(Memo1.Text); Key:=#0; end else exit; end; |
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 02.04.07 13:17
Moin und  im Forum!
Ich würde dir raten, ein Editfeld für die Eingabe zu nehmen und dann auf einen Buttonklick das Ganze in z.B. ein Memo umgeschlüsselt wieder auszugeben.
Ansatz für die Morsezeichen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| type TMorseZeichen = ('A'..'Z','0'..'9',' ');
const MorseCode: array[TMorseZeichen] of String = ( '--.', '.--', ... ' '); |
Beim Umwandeln gehst du dann einfach die Eingabe Zeichen für Zeichen durch und schlüsselst über das konstante Array um, fertig.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Künne 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 02.04.07 15:21
Was meinst du mit überschlüsseln?
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 02.04.07 15:55
Moin!
Damit meine ich ungefähr sowas:
Zunächst die Konstanten:
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:
| const MorseZeichen: set of Char = ['A'..'Z','0'..'9'];
MorseCode: array['0'..'Z'] of String = ( '·----', '··---', '···--', '····-', '·····', '-····', '--···', '---··', '----·', '-----', '', '', '', '', '', '', '', '·-', '-···', '-·-·', '-··', '·', '··-·', '--·', '····', '··', '·---', '-·-', '·-··', '--', '-·', '---', '·--·', '--·-', '·-·', '···', '-', '··-', '···-', '·--', '-··-', '-·--', '--··'); |
Und hier die Schleife:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var i: Integer; Zeile: String; begin if (Edit1.Text <> '') then begin Zeile := ''; for i := 1 to Length(Edit1.Text) do if (UpCase(Edit1.Text[i]) in MorseZeichen) then Zeile := Zeile +MorseCode[Upcase(Edit1.Text[i])]+' '; Memo1.Lines.Add(Zeile); end else MessageDlg('Bitte Text eingeben!',mtError,[mbCancel],0); |
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Künne 
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 03.04.07 10:22
Erkläre mal bitte deine Vorgehensweise beim Programmieren ich kann es nicht ganz nachvollziehen.
Zuletzt bearbeitet von Künne am Di 03.04.07 10:50, insgesamt 1-mal bearbeitet
|
|
Künne 
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 03.04.07 10:47
Sorry wegen Doppelbeitrag, aber ich muss es so schnell wie es geht wissen. Wie muss ich es machen wenn ich zum Beispiel im ersten Editfeld ein 'a' eintippe und im zweiten Editfeld über einen Button dann das Morsezeichen '.-' ausgegeben haben will?
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 03.04.07 11:04
Moin!
Künne hat folgendes geschrieben: | Sorry wegen Doppelbeitrag, aber ich muss es so schnell wie es geht wissen. |
Ich schau mal, ob ich heute abend Zeit und Lust habe, nochwas dazu zu schreiben...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.04.07 11:11
Was in dem Beispiel hier passiert ist ja, den Text aus Edit1 zu nehmen und dann umgewandelt in Memo1 zu schreiben. Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| var i: Integer; Zeile: String; begin if (Edit1.Text <> '') then begin Zeile := ''; for i := 1 to Length(Edit1.Text) do if (UpCase(Edit1.Text[i]) in MorseZeichen) then Zeile := Zeile +MorseCode[Upcase(Edit1.Text[i])]+' '; Memo1.Lines.Add(Zeile); end else MessageDlg('Bitte Text eingeben!',mtError,[mbCancel],0); | Deine Frage werde ich allerdings nicht direkt beantworten. Ich denke, wenn du den Quelltext verstanden hast, kannst du das alleine machen. Wenn du Fragen zu dem Quelltext hast, dann stell sie ruhig.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.04.07 11:19
Narses hat folgendes geschrieben: | Zunächst die Konstanten:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| const MorseZeichen: set of Char = ['A'..'Z','0'..'9'];
MorseCode: array['0'..'Z'] of String = ( '·----', '··---', '···--', '····-', '·····', '-····', '--···', '---··', '----·', '-----', ... | |
Nicht ganz
Du fängst mit der 0 an... Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| MorseCode: array['0'..'Z'] of String = ( '-----', '·----', '··---', '···--', '····-', '·····', '-····', '--···', '---··', '----·', ... |
|
|
Künne 
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 03.04.07 11:43
bei mir nimmt der Lines nicht an. als was muss ich das denn deklarieren?
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.04.07 11:46
Künne hat folgendes geschrieben: | bei mir nimmt der Lines nicht an. als was muss ich das denn deklarieren? |
Dann ist das kein Memo...
Ein Memo hat Memo1.Lines (da musst du nix selbst deklarieren), ein Edit natürlich nicht, das hat ja nur eine Zeile.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 03.04.07 12:13
Moin!
jaenicke hat folgendes geschrieben: | Du fängst mit der 0 an... |
Mensch jaenicke, das war doch die c&p-Sicherung...
@ Künne: Aus meiner Sicht solltest du dein Auftreten hier mal überdenken...  Bei mir kommst du als Code-Abzieher rüber!
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.04.07 12:27
Narses hat folgendes geschrieben: | jaenicke hat folgendes geschrieben: | Du fängst mit der 0 an... |
Mensch jaenicke, das war doch die c&p-Sicherung...  |
^^, ok Aber wenn ich mir die Frage nach Lines ansehe: Da hast du ja eine weitere c&p-Sicherung eingebaut^^
An dieser Stelle vielleicht noch 2 Sachen:
1. Wie immer der Hinweis auf Christians Crashkurs: crashkurs.christian-stelzmann.de
2. Gibts auch die Taste F1, und in der Hilfe findet sich auch was zu den einzelnen Komponenten...
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 03.04.07 12:34
ja, klar, aber da ich ihn für einen Code-Abzieher halte, der keinen Plan hat, was läuft, wollte ich es auch nicht einfacher machen... abgesehen davon ist es ja nun nicht wirklich schwer, den Button/Edit/Memo aus Form zu klatschen und dann läuft der Code ja so direkt - bis auf den logischen Fehler für die 2. c&p-Sicherungsinstanz... 
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Künne 
Hält's aus hier
Beiträge: 6
|
Verfasst: Di 03.04.07 12:53
Tschuldigung aber ich bin nunmal nur kein Profi im Programmieren und wollte eigentlich nur Just for Fun so ein Morsegerät programmieren.
Zurück zu meiner Frage:
Die Deklaration für Memo1 funktioniert nicht. Hat jemand ein Beispiel dafür wie man ein Memo richtig deklariert?
Dies ist der einzige Haken den wir noch haben.
Deshalb danke ich schon mal im Vorraus.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 03.04.07 13:02
Moin!
Frag doch mal deinen Info-Lehrer, wenn er das nächste mal an eurem PC vorbeikommt...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.04.07 13:29
Künne hat folgendes geschrieben: | Die Deklaration für Memo1 funktioniert nicht. Hat jemand ein Beispiel dafür wie man ein Memo richtig deklariert? |
Du deklarierst nix. Du packst statt einem TEdit ein TMemo aufs Formular... Sieh dir den Crashkurs an, dir fehlen offensichtlich die wichtigsten Grundlagen! 
|
|
ZeitGeist87
      
Beiträge: 1593
Erhaltene Danke: 20
Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
|
Verfasst: Di 03.04.07 13:54
Hallo!
Hab mal schnell was programmiert..sehr rudimentär..als Denkanstoss
LG
Stefan
Einloggen, um Attachments anzusehen!
_________________ Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 03.04.07 14:06
Ach ZeitGeist87, du bist mein Held...
Wenn wir nicht zusammen arbeiten und Leute, die nicht denken wollen, auflaufen lassen, dann werden die den Code nehmen und den kompletten Rest einfach vergessen... super Ergebnis... 
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
|