Avatar billede silden Nybegynder
12. januar 2001 - 12:40 Der er 13 kommentarer og
1 løsning

TMemo?

Er der nogle der kan give mig et forslag til hvordan jeg kan undgå at bruge et memo component?
jeg indlæser en coma sep. streng med <CR><LF>
til slut. Hvis jeg som nedenstående eks. læser det ind i et memo og derefter over i en String er der ingen problemer.

Jeg håber på en god ide.



procedure TMain.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
begin
    ComPort.ReadStr(Str, Count);
    Memo.Text := Memo.Text+Str;
    if Count<8 then begin
        MyString:=Memo.text;
        MyString:=TrimRight(MyString);
        ShowMessage(MyString);
Avatar billede pstric Nybegynder
12. januar 2001 - 12:52 #1
Benyt en TStrings variabel, som du instantierer som en TStringList
Avatar billede pstric Nybegynder
12. januar 2001 - 12:54 #2
Noget i retningen af:

procedure TMain.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
  MyStrings: TStrings;
begin
    ComPort.ReadStr(Str, Count);
    MyStrings := TStringList.Create;
    try
      MyStrings.Text := MyStrings.Text+Str;
      if Count<8 then begin
        Str := MyStrings.Text;
        Str := TrimRight(Str);
        ShowMessage(Str);
      ...
    finally
      MyStrings.Free;
    end;
Avatar billede pstric Nybegynder
12. januar 2001 - 12:55 #3
Eller:

ComPort...
with TStringList.Create do
try
  ...
finally
  Free;
end;
Avatar billede pstric Nybegynder
12. januar 2001 - 13:04 #4
silden>> Du må meget gerne kommentere svaret. Fortæl om det var det, du mente med spørgsmålet.
Avatar billede silden Nybegynder
12. januar 2001 - 13:51 #5
Dette har jeg prøvet, det resulter i at kun de
bit i det sidste læsning fremkommer
(Der læses med 7 bit dvs. pga. den coma sep. streng\'s længde gennemløbes proceduren 7 gange, derfor tester jeg størelsen af count som vil falde i antal når det er sidste gennemløb) 
Avatar billede pstric Nybegynder
12. januar 2001 - 13:56 #6
silden>> Jeg forstår ikke helt din sidste kommentar. Kan du evt. skrive lidt mere om problemet.

Hvis du kunne fortælle om du bruger nogen bestemte komponenter, ville det også være en fordel.
Avatar billede silden Nybegynder
12. januar 2001 - 14:25 #7
Fra start:
Jeg bruger et ComPort komponent fra (ComPort Library ver 2.61) Events OnRxChar. Dette er proceduren som jeg skrev som eks.

Jeg bruger komponentet til at læse fra en com port, hvor der bliver sendt en streng som ser
således ud  1,0,190,89.2,439,24.6,52.3,37.4,56.2,45,25.4,7520
strengen slutter med <CR><LF>

Der bliver læst fra porten med:
Baud Rate  : 2400bps
Data Length: 7bit
Parity    : even
Stop Bit  : 1bit 
Avatar billede pstric Nybegynder
12. januar 2001 - 14:46 #8
Du skrev i dit spørgsmål, at hvis du læste over i en TMeno og derfra til en string var der ingen problemer. Men hvad er så dit problem? Den løsning, jeg gav dig fjerner jo nødvendigheden af at bruge en TMemo. Dine kommentarer har gjort mig en smule forvirret, for nu lader det til, at det ikke er brugen af en TMemo, der er dit problem.
Avatar billede silden Nybegynder
12. januar 2001 - 16:24 #9
Jeg ønsker ikke at bruge et TMemo (men det virker)
Mit problem er, at når det kan fungere med TMemo burde det også kunne lade sig gøre med TStrings
eller på anden måde.
Avatar billede pstric Nybegynder
12. januar 2001 - 16:27 #10
Jamen, det var jo lige præcist det, jeg viste dig!!!

Hvad var problemet med det svar jeg gav dig 12:54:25?
Avatar billede silden Nybegynder
12. januar 2001 - 17:00 #11
Problemet med det svar du gav mig, er at det IKKE
virker, hvad jeg også har forklaret tidligere!!!!
Avatar billede pstric Nybegynder
12. januar 2001 - 17:46 #12
Prøv nu lige at forklare lidt nærmere, hvad det er ved den løsning, der ikke virker.
Vi skal nok få fundet en løsning, men jeg kan ikke læse ud af dine svar, hvad problemet er.
Avatar billede silden Nybegynder
12. januar 2001 - 17:48 #13
Jeg lukker hermed spørgsmålet!
Du får hermed dine point!
Hvis der er andre, der kan bidrage med forklaring på forskellen på TMemo & TStrings, så jeg kan løse mit problem, hører jeg gerne fra jer min mail@ er    sgc@post5.tele.dk
Avatar billede blomme Nybegynder
14. januar 2001 - 11:28 #14
TStrings = memo.lines :)))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester