Autor Beitrag
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 26.10.02 17:42 
Ich habe ein Editfeld zur Eingabe und eins zur Ausgabe.

Tippe ich z.B. "a" ein, so soll überprüft werde, ob der eingegebene Char "a".."z" oder "A".."Z" ist und NUR DANN ausgegeben werden (im zweiten Editfeld).
Wenn er z.B. ein "ä","2","!" o.ä. ist, so soll dieser Char NICHT NUR nicht ausgegeben, sondern auch im Eingabefeld nicht angezeigt werden.

Wie mach ich das? PLZ HELP

:!: P.S.: Bitte bedenken, dass ich Schüler bin (Stufe 11 eines Gymnasiums *stolz) und wir mit Delphi 6 erst vor 7 Wochen begonnen haben. Also bitte einfach und genau erklären, damit ich das auch verstehe :oops: *bitte nicht hauen
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Sa 26.10.02 19:17 
Hallo,

wozu ist dann eigentlich das zweite Edit-Feld vorhanden? Denn der Inhalt der beiden Feldern ist doch dann immer identisch. Außerdem würde ich für die Ausgabe von Informationen in den meisten Fällen ein tLabel benutzen.

Zum Problem: Das Edit-Feld hat ein Event namens OnKeyPress. Dieses kannst Du benutzen um zu überprüfen ob das gedrückte Zeichen ok ist oder nicht:
ausblenden Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  If not (Key in ['a'..'z', 'A'..'Z']) Then
    Key := #0;
end;


Gruß
TINO
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 26.10.02 19:21 
Ungetestet

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
function NurAbc(s: String): String;
var
  Chr: Char;
begin
  if Length(s) > 0 then Chr := s[1];
  if Chr in ['a'..'z', 'A'..'Z'] then Result := Chr else Result := '';
end;


Wenn Zeichen nicht a bis z oder A bis Z ist, dann kommt ein leerer String zurück. Zeichen wird also ignoriert.

Es wird immer das erste Zeichen des Strings untersuch. Alle anderen Zeichen werden ignoriert. Ich hab hier mit Absicht Strings und nicht Chars in die Funktion eingebaut, da ein Char mindestens ein Zeichen zurückgeben muß.

Aufruf:

ausblenden Quelltext
1:
2:
  Zeichen := 'w';
  a := NurAbc(Zeichen);
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 26.10.02 19:22 
Upps. Es ging um ein Editfeld.
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 27.10.02 11:44 
Also eigentlich soll das ganze Programm eine ENIGMA-Maschine für die Minifacharbeit werden werden.

Da aber nichts von dem was ich in diesem Programm an Befehlen etc. brauche im Untericht bisher drangekommen ist, habe ich erstmal auf eigene Faust einfach begonnen: Die Eingabe des Klartextes (1. Editfeld).

Denn bei der ENIGMA konnte nur "A".."Z" eingetippt werden. Bei meinem Programm soll das auch so sein. Also muss ich ja die Eingabe auf "A".."Z" überprüfen.

Im 2. Editfeld soll dann die Verschlüsselung ausgegeben werden (doch das kommt erst VIEL VIEL VIEL VIEL später). Also lass ich dort erstmal nur die Chars ausgeben, die "A".."Z" sind.

Hoffe jetzt ist es klarer!
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: So 27.10.02 20:38 
Hast Du denn noch ne Frage zu diesem Thema?

Gruß
TINO
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 28.10.02 18:52 
Ich bins nochmal (...oder schon wieder :D)!

Also erstmal:
DANKE für die bisherige Tipps, haben mich weitergebracht.

Stand der Dinge:
1. Habe 2 Memo- NICHT Editfelder (SORRY, mein Fehler :oops:)
2. Memofeld 1 ist für Eingabe des zu verschlüsselnden Textes
3. Memofeld 2 ist für die kodierte Nachricht
4. Im Memofeld 1 werden nur die Chars "a".."z","A".."Z",' ',#13 "gewertet"

Soweit, so gut!

Fragen:
1. Welche ASCII-Nummer haben "Entf" und "<--" (über "Enter")?
2. Wie kann ich in Memofeld 1 über die "Löschen" im Text "zurückgehen"?

Danke im Voraus

D0P3 F!$H
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 28.10.02 19:19 
ASCII-Tabelle
Backspace = #8, es geht aber auch der virtuelle Key-Code VK_BACKSPACE, glaube ich.

Entf hat den virtuellen Key-Code VK_DELETE.

Stehen aber auch alle in der Hilfe.
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Do 31.10.02 20:31 
Ich bins scho wieda (jaja is mir klar :oops: !)

Neue Frage:
Bei der Enigma will ich die Walzeneinstellungen (Reihenfolge der Buchstaben, Verknüpfter Buchstabe auf der Walze, Position auf der Walze) in einem Array speichern.

Aus Pascal kenne ich Arrays noch so:
ausblenden Quelltext
1:
ErsteWalze : ARRAY [1..78] OF CHAR;					


Doch wie kann ich beispielsweise in das Array 'A' oder "J" reinbringen? Mache ich das so
ErsteWalze : ARRAY ['A','G','4'] OF CHAR; (Der Buchstabe 'A' steht an der 4. Position der Walze und ist mit 'G' verknüpft)

gibst die Fehlermeldung, dass Delphi ".." nach 'A' erwartet.

Wie wird das nun mit den Walzeneinstellungen gemacht, oder geht das gar nicht?

Bitte helfen :roll:

MfG

D0P3 F!$H
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Do 31.10.02 21:14 
Hier muß ich wirklich sagen: Besorg dir ein Anfängerbuch. Das sage ich obwohl ich diesen Satz hasse und mich mit jedem anlege der den Satz sagt.

Es gibt einige Möglichkeiten:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  abc: array[1..3] of Char;
begin
  abc[1] := 'a';
  abc[2] := 'b';
  abc[3] := 'c';
end;


die Zweite ist:

ausblenden Quelltext
1:
2:
3:
4:
5:
var
  abc: array[1..3] of Char = ('A', 'B', 'C');
begin
  ...
end;
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 01.11.02 10:57 
THX!

Hat geklappt ... Ich habe ein Anfängerbuch ("Objektorientierte Programmierung mit Delphi Band 1"), aber da kommen nur Timer, Buttons, Images, Zeichnungen und dann Programme (Minipaint, Taschenrechner etc.) vor :oops: (jaja ich weiss, dass ich jetzt ausgelacht werde).
Wir sind erst beim Zeichnen :cry: und das ist so LANGWEILIG (und das kommt in der Klausur auch noch dran *mitkopfgegendiewandrenn*).

Da habe ich auch schon nach Arrays geguckt, die kommen aber nicht drin vor *ineckerennundsehrsehrschäm*.
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 01.11.02 16:17 
Dann hast du ein sch... Anfängerbuch.

Guck dir mal diese beiden Seiten an. Die Erste konzentriert sich auf reines Pascal, die Zweite beschäftigt sich mit Delphi Pascal.

Programmiersprache Pascal:
www.fh-jena.de/~gmueller/Kurs_halle

Essential Pascal:
www.marcocantu.com/EPascal/German

Man kann sich die auch runterladen zum offlinelesen.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 01.11.02 21:15 
D0P3 F!$H hat folgendes geschrieben:
Ich bins scho wieda (jaja is mir klar !)

Neue Frage:

In Zukunft bitte für jede nicht zum Thema passende Frage ein neues Topic erstellen!

Gruß
TINO