|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
нарисовать точки по координатам
Программирую на Delphi 7.
Есть dat файл с координатами 10 точек в таком виде: 44 65 95 45 ... Их нужно нарисовать. Как произвести перевод каретки на следующую строку? Я смог нарисовать первую точку по её координатам, для этого я создал на форме объект PaintBox и в методе OnPaint добавил следующий код: Код:
var f1:TStrings; f:TFileStream; buf: array[0..2] of char; ch:Integer; str:String; ch1:Integer; str1:String; i:integer; procedure TForm1.PaintBox1Paint(Sender: TObject); begin f:=TFileStream.Create('c:\cities.dat', fmOpenReadWrite); f.Read(buf,2); str:=buf; ch:=StrToInt(str); f.Seek(1,SoFromCurrent); f.Read(buf,2); str1:=buf; ch1:=StrToInt(str); PaintBox1.Canvas.Pixels[ch,ch1]:= clBlack; end; Таким образом рисуется первая точка, как перейти к следующей строке, прочитать её содержимое и нарисовать следующую точку? Последний раз редактировалось Admin, 29.05.2011 в 18:02. |
#2
|
||||
|
||||
Может так:
Код:
var f1:TStrings; f:TFileStream; buf: array[0..2] of char; ch,i:Integer; str:String; ch1:Integer; str1:String; i:integer; procedure TForm1.PaintBox1Paint(Sender: TObject); begin f:=TFileStream.Create('c:\cities.dat', fmOpenReadWrite); For i:= 1 To 10 Do begin f.Read(buf,2); str:=buf; ch:=StrToInt(str); f.Seek(1,SoFromCurrent); f.Read(buf,2); str1:=buf; ch1:=StrToInt(str); PaintBox1.Canvas.Pixels[ch,ch1]:= clBlack; end; end; If end Then begin; |
#3
|
||||
|
||||
Читай строку используя ReadLn, дальше парсируй на отдельные координаты. Читать можно так:
Код:
while not Eof(F) do ReadLn(F, S); |