tastatureingabe in string-Variable aufnehmen

Für Fragen von Einsteigern und Programmieranfängern...

tastatureingabe in string-Variable aufnehmen

Beitragvon picfan » 13. Feb 2017, 21:17 tastatureingabe in string-Variable aufnehmen

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 14. Feb 2017, 17:28, insgesamt 1-mal geändert.
Grund: Highlighter
picfan
 
Beiträge: 3
Registriert: 13. Feb 2017, 20:44

Beitragvon Michl » 13. Feb 2017, 21:33 Re: tastatureingabe in string-Variable aufnehmen

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; 
Michl
 
Beiträge: 2056
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon picfan » 14. Feb 2017, 09:13 Re: tastatureingabe in string-Variable aufnehmen

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: 13. Feb 2017, 20:44

Beitragvon picfan » 14. Feb 2017, 10:36 Re: tastatureingabe in string-Variable aufnehmen

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
picfan
 
Beiträge: 3
Registriert: 13. Feb 2017, 20:44

Beitragvon Mathias » 14. Feb 2017, 18:11 Re: tastatureingabe in string-Variable aufnehmen

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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 2520
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried