![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть компонент TMemo заполненый следующим текстом:
Код:
C… MENU $GPRMC,101000.00,A,5029.0706,N,03028.7410,E,000.0,000.0,230111,02.2,E,A*0D $GPRMC,101001.00,A,5029.0707,N,03028.7411,E,000.0,000.0,230111,02.2,E,A*0D VSE MENU Мне нужно сохранить только это: $GPRMC,101000.00,A,5029.0706,N,03028.7410,E,000.0, 000.0,230111,02.2,E,A*0D $GPRMC,101001.00,A,5029.0707,N,03028.7411,E,000.0, 000.0,230111,02.2,E,A*0D Я умею сохранять только определенные строки, но в моем случае строки могут быть разными… было бы идеально сохранять текст, начиная с первого символа $ и по слово VSE. Сейчас сохраняет все стандартной процедурой: Код:
procedure TForm1.Button_save_to_fileClick(Sender: TObject); var FName: string; begin SaveDialog1.FileName := FName; if SaveDialog1.Execute then begin FName := SaveDialog1.FileName; Memo.Lines.SaveToFile(FName); end; end; Буду благодарен любым соображениям. |
|
#2
|
||||
|
||||
|
Код:
var
A, B: Integer;
begin
if SaveDialog1.Execute then
begin
A := Pos('$', Memo1.Text);
B := Pos('VSE', Memo1.Text) - A;
with TStringList.Create do
begin
Text := Copy(Memo1.Text, A, B);
SaveToFile(SaveDialog1.FileName);
Free;
end;
end;
end; |
|
#3
|
|||
|
|||
|
Спасибо огромное!
Последний раз редактировалось Harima Hario, 08.03.2011 в 16:07. |
|
#4
|
|||
|
|||
|
Есть процедура чтения из COM порта и записи полученной информации в компоненту Memо:
Код:
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Str: String; begin ComPort.ReadStr(Str, Count); Memo.Text := Memo.Text + Str; end; Как в этом случае можно использовать ProgressBar? |
|
#5
|
|||
|
|||
|
а известно общее кол-во строк? я думаю из GPS-прибора это можно получить какой-то командой, если известно, то сделать не сложно.
|
|
#6
|
|||
|
|||
|
Я могу вывести в компонент TMemo общее количество строк с координатами, как тогда должна выглядеть процедура с использованием ProgressBar?
|
|
#7
|
|||
|
|||
|
дык когда ты уже получишь все строки, то ProgressBar уже не актуален будет. Просто ему нужно начальное значение, 0 например и конченое, что бы рассчитать видимую полосу.
|