Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Daten in Array speichern (https://www.delphipraxis.net/80215-daten-array-speichern.html)

Mucki 4. Nov 2006 18:48


Daten in Array speichern
 
Hallo User! :)

Ich habe ein Problem:
Wie kann ich Daten, die ich über die RS232 empfange
in einem Array(ein- oder zweidimensional?) übergeben, um sie dann in
eine Tabelle (Excel) zu speichern. :roll:
Delphi-Quellcode:
var
testbyte: byte;
testchar: char;
teststr: string;
begin
testchar := apdcomport1.GetChar;
testbyte := byte(testchar);
str(testbyte,teststr);
label1.Caption := teststr;
Damit kann ich die ankommenden Daten anzeigen.

Aber wie kann ich sie einem Array übergeben? :gruebel:

Wäre nett wenn mir jemand weiter helfen könnte!

Gruß Mucki :?

DGL-luke 4. Nov 2006 18:59

Re: Daten in Array speichern
 
Wenn du Trenner drinnen hast, kannst du sie jendefalls schon mal in eine Stringliste hauen:

Delphi-Quellcode:
var sl: TStringList;
begin
  sl := TStringList.Create;
  sl.Delimiter := ';' //zum beispiel
  sl.Delimitedtext := teststr;
end;
Von da zum Array ist es nicht mehr weit...

3_of_8 4. Nov 2006 19:04

Re: Daten in Array speichern
 
StringLists in Verbindung mit Delimitern sind BÖSE BÖSE BÖSE.

Ein Leerzeichen wird nämlich immer als Delimiter angesehen und das kann sehr unschöne Ergebnisse erzeugen.

Mucki 4. Nov 2006 19:08

Re: Daten in Array speichern
 
Also die Daten kommen byteweise,
ich dachte, ich muß diese einem Array of byte übergeben?

DGL-luke 4. Nov 2006 19:13

Re: Daten in Array speichern
 
Ein Leerzeichen? Das ist doch nicht dein Ernst? Du meinst Zeilenumbrüche?

EDIT: @Mucki: Array of byte? Willst du die einzelnen Bytes in die tabelle speichern?

3_of_8 4. Nov 2006 20:07

Re: Daten in Array speichern
 
Und wie das mein Ernst ist.

Delphi-Quellcode:
var sl: TStringList;
begin
  sl := TStringList.Create;
  sl.Delimiter := ';';
  sl.Delimitedtext := 'wuppdi blubb;asdf';
  showmessage(sl.Text);
end;
Und jetzt rate mal, was die Ausgabe ist...

Code:
---------------------------
Project1
---------------------------
wuppdi
blubb
asdf

---------------------------
OK  
---------------------------
Wenn schon mit Delimitern arbeiten, dann richtig.
So zum Beispiel:
http://www.delphipraxis.net/internal...ighlight=split

Mucki 4. Nov 2006 20:51

Re: Daten in Array speichern
 
Ja, also ich bekomme 12 Byte und jedes Byte ist ein Wert
und jeder Wert soll in eine Tabellen-Zelle.

DGL-luke 4. Nov 2006 21:23

Re: Daten in Array speichern
 
Als in den Array bekommst du es dann so:

Delphi-Quellcode:
var bytes: array of char;

setlength(bytes, length(teststr));
for i := 0 to high(bytes) do
  bytes[i] := teststr[i+1];
In Excel kriegst dus dann wohl über Hier im Forum suchenOLE.

Mucki 6. Nov 2006 14:02

Re: Daten in Array speichern
 
Ja wohl, ich/wir haben es geschafft! :thumb:
Eine weitere Hürde ist überwunden.
Delphi-Quellcode:
var
testbyte: array [0..11] of byte;
testchar: char;
teststr: string;
begin
testchar := apdcomport1.GetChar;
testbyte [0]:= byte(testchar);
str(testbyte [0],teststr);
label12.Caption := teststr;
So kann ich die Daten in Bytes speichern.
Um so gesendete Bytes und empfangene Bytes
zwecks Felhlerkorrektur zu vergleichen.

Danke.
Gruß Mucki :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38 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