![]() |
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:
Damit kann ich die ankommenden Daten anzeigen.
var
testbyte: byte; testchar: char; teststr: string; begin testchar := apdcomport1.GetChar; testbyte := byte(testchar); str(testbyte,teststr); label1.Caption := teststr; Aber wie kann ich sie einem Array übergeben? :gruebel: Wäre nett wenn mir jemand weiter helfen könnte! Gruß Mucki :? |
Re: Daten in Array speichern
Wenn du Trenner drinnen hast, kannst du sie jendefalls schon mal in eine Stringliste hauen:
Delphi-Quellcode:
Von da zum Array ist es nicht mehr weit...
var sl: TStringList;
begin sl := TStringList.Create; sl.Delimiter := ';' //zum beispiel sl.Delimitedtext := teststr; end; |
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. |
Re: Daten in Array speichern
Also die Daten kommen byteweise,
ich dachte, ich muß diese einem Array of byte übergeben? |
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? |
Re: Daten in Array speichern
Und wie das mein Ernst ist.
Delphi-Quellcode:
Und jetzt rate mal, was die Ausgabe ist...
var sl: TStringList;
begin sl := TStringList.Create; sl.Delimiter := ';'; sl.Delimitedtext := 'wuppdi blubb;asdf'; showmessage(sl.Text); end;
Code:
Wenn schon mit Delimitern arbeiten, dann richtig.
---------------------------
Project1 --------------------------- wuppdi blubb asdf --------------------------- OK --------------------------- So zum Beispiel: ![]() |
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. |
Re: Daten in Array speichern
Als in den Array bekommst du es dann so:
Delphi-Quellcode:
In Excel kriegst dus dann wohl über
var bytes: array of char;
setlength(bytes, length(teststr)); for i := 0 to high(bytes) do bytes[i] := teststr[i+1]; ![]() |
Re: Daten in Array speichern
Ja wohl, ich/wir haben es geschafft! :thumb:
Eine weitere Hürde ist überwunden.
Delphi-Quellcode:
So kann ich die Daten in Bytes speichern.
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; Um so gesendete Bytes und empfangene Bytes zwecks Felhlerkorrektur zu vergleichen. Danke. Gruß Mucki :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz