Hallo Osse,
hier ein wenig Code für dich zum Lesen - vielleicht bringt es dich ein wenig auf den Weg. Die Action cmdFileOpen musst du deinem Button oder MenuItem zuweisen.
Delphi-Quellcode:
type
PCANRcvMsg = ^TCANRcvMsg;
TCANRcvMsg = record
ID: word;
MsgType: cardinal;
Len: 0..15;
Data: array [0..3] of byte;
end;
var
MessageList: TList;
procedure TMainForm.ReadMessages(fileName: string; msgList: TList);
var
line: string;
lineCount: integer;
sl: TStringList;
st: TStringList;
i: integer;
msg: PCANRcvMsg;
begin
AssignFile(input, fileName);
Reset(input); // Öffnen für LESEN
lineCount := 0;
st := TStringList.Create;
st.Delimiter := ';';
while not Eof do begin
ReadLn(line);
Inc(lineCount);
st.DelimitedText := line;
New(msg);
with msg^ do
for i := 0 to sl.Count - 1 do begin
ID := StrToInt(sl[0]);
MsgType := StrToInt(sl[1]);
Len := StrToInt(sl[2]);
Data[0] := StrToInt(sl[3]);
Data[1] := StrToInt(sl[4]);
Data[2] := StrToInt(sl[5]);
Data[3] := StrToInt(sl[6]);
end;
msgList.Add(msg);
end;
st.Free;
end;
procedure TMainForm.cmdFileOpenExecute(Sender: TObject);
begin
with OpenDialog do
if Execute then begin
MessageList := TList.Create;
ReadMessages(FileName, MessageList);
end;
end;
Grüße vom marabu