AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sende String an comport

Ein Thema von Natcree · begonnen am 9. Jul 2014 · letzter Beitrag vom 20. Jul 2014
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#11

AW: Sende String an comport

  Alt 9. Jul 2014, 13:26
Ich seh grade was.

Zitat:
Delphi-Quellcode:
for i:=0 to length(text)-1 do
begin
  SendByte(ord(text[i]));
end;
Du solltest unbedingt mal die Bereichsprüfung in deinem Delphi aktivieren, wenn du ständig solchen Mist verbockst.

String-Indize beginnen bei 1 (außer in den neuen iOS/Android-Plattformen)
$2B or not $2B
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#12

AW: Sende String an comport

  Alt 19. Jul 2014, 22:58
das heisst wenn ich es so mache klappt es ?

Delphi-Quellcode:
for i:=1 to length(text)-1 do
begin
  SendByte(ord(text[i]));
end;
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: Sende String an comport

  Alt 20. Jul 2014, 00:05
das heisst wenn ich es so mache klappt es ?

Delphi-Quellcode:
for i:=1 to length(text)-1 do
begin
  SendByte(ord(text[i]));
end;
Hmmm... Testen ?
Dann siehst du doch ob es klappt.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

AW: Sende String an comport

  Alt 20. Jul 2014, 11:20
Wenn man durch alle Elemente iterieren möchte, dann geht das immer nach folgendem Schema:
Code:
Für Index
  von <kleinster Index>
  bis <größter Index>
Ist nur kleinster Index und die Anzahl der Elemente bekannt, so kann man durch eine simple Rechnung den Wert von größter Index ermitteln:
Code:
Für Index
  von <kleinster Index>
  bis <kleinster Index> + <Anzahl der Elemente> - 1
Wenn man sich gar sehr unsicher ist und sich diese komplizierte Berechnung nicht zutraut und zudem ein Array vor sich hat, dann doch bitte so und der Drops ist gelutscht:
Delphi-Quellcode:
for LIdx := low( text ) to high( text ) do
  begin
    WhateverWith( text[LIdx] );
  end;
Schon kümmert es den Code nicht mehr, ob der Compiler 1-basierende, 0-basierende oder n-basierende Strings verwaltet.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#15

AW: Sende String an comport

  Alt 20. Jul 2014, 13:04
Warum nicht so?

Delphi-Quellcode:
procedure SENDSTRING (Buffer: String);
var BytesWritten: DWord;
begin
  WriteFile(PortHandle,(Pchar(Buffer))^,Length(Buffer),BytesWritten,NIL);
END;

procedure TForm1.Button1Click(Sender: TObject);
var TextString : String;
begin
   TextString := 'Hallo';
   SendString (TextString+ #13);
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

AW: Sende String an comport

  Alt 20. Jul 2014, 13:16
Weil der Code seit 5 Jahren (Unicode) so nicht mehr richtig funktionieren könnte?
$2B or not $2B
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#17

AW: Sende String an comport

  Alt 20. Jul 2014, 13:22
Er hat doch nur Delphi 7 Enterprise...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#18

AW: Sende String an comport

  Alt 20. Jul 2014, 14:10
Dennoch wäre es besser den Code ordentlich zu schreiben, denn genau durch solche Codes gab es die meisten Probleme bei der Unicodeumstellung.

In diesem Fall wird AnsiString verwendet, also gehört der Code auch so geschrieben.
> AnsiString und PAnsiChar
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz