tastatureingabe in string-Variable aufnehmen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
picfan
Beiträge: 3
Registriert: Mo 13. Feb 2017, 20:44

tastatureingabe in string-Variable aufnehmen

Beitrag von picfan »

Guten Abend liebe Mitglieder,
habe eine funktionierende Lazarus-USB-Anwendung, mit welcher ich Buchstaben mittels Pic18f2550 auf ein LCD-Display übertragen kann, soweit gut.
Beispiel mit Button:

Code: Alles auswählen

procedure TForm1.Button6Click(Sender: TObject);
begin
  memo1.Lines.add ('BUCHSTABE EINGEBEN ');
  VARIABLE9 := ORD('A');
 
    send_buf[0]:=SYS_LCD1;  // LCD1
    send_buf[1]:=2;         // send
    send_buf[2]:=VARIABLE9;  // 'A'
    Sende_Empfange(16, 16);
end;           
 

Mit dieser Prozedur wird VARIABLE9 ('A') auf das LCD-Display geschrieben und angezeigt.
Nun möchte ich z.B. in einem Memo1-Feld mit der PC-Tastatur einen Text schreiben, diesen geschriebenen Text in eine string-variable transferieren
und anschliessend zum LCD-Display schicken.
Ich schaffe es nicht, die Tastatureingabe irgenwie ins Programm zu bringen.
Hat jemand eine Idee?
Gruss picfan
Zuletzt geändert von Lori am Di 14. Feb 2017, 17:28, insgesamt 1-mal geändert.
Grund: Highlighter

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: tastatureingabe in string-Variable aufnehmen

Beitrag von Michl »

Mach doch eine Methode, mit der du einen String sendest z.B. (keine Ahnung ob so richtig):

Code: Alles auswählen

procedure SendString(s: String);
var
  i: Integer;
begin
  for i := 1 to Length(s) do
  begin
    send_buf[0] := SYS_LCD1;
    send_buf[1] := 2;
    send_buf[2] := Ord(s[i]);
    Sende_Empfange(16, 16);
  end;
end;

und dann sendest du einfach per

Code: Alles auswählen

procedure TForm1.Button6Click(Sender: TObject);
begin
  SendString(Memo1.Text);
end;
deinen Text, der im Memo steht (geht so nur für ASCII-Zeichen).

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

picfan
Beiträge: 3
Registriert: Mo 13. Feb 2017, 20:44

Re: tastatureingabe in string-Variable aufnehmen

Beitrag von picfan »

Hallo Michl,
vielen Dank für deinen Vorschlag, habe deine Methoden ins Programm aufgenommen, Lazarus verlangte eine Deklaration dieser Methode, also
deklarierte ich diese oben.
Nun erhielt ich aber eine Fehlermeldung: "Forward declaration not solved", komme nicht mehr weiter....
Mikrocontroller programmiere ich in C, Pascal ist für mich absolutes Neuland.
Gruss picfan

picfan
Beiträge: 3
Registriert: Mo 13. Feb 2017, 20:44

Re: tastatureingabe in string-Variable aufnehmen

Beitrag von picfan »

Hallo Michl,
nach langem Probieren hab ich es nun geschafft! Danke für deine Hilfe!
Offenbar ist es wichtig, wo genau man die Methode ins Programm stellt und den Typ des Strings musste ich als "AnsiString" deklarieren....
Gruss picfan

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: tastatureingabe in string-Variable aufnehmen

Beitrag von Mathias »

Offenbar ist es wichtig, wo genau man die Methode ins Programm stellt

Ja dies ist sehr wichtig, chaotische Reihenfolge, wie in C/C++ geht nicht. Ausser man deklariert als forward, aber dies sollte man nur machen, wen es nicht anders geht. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten