![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте, Всех с наступившим 2012 годом.
Вот у меня есть текстовый файл: 20:30:40:50:48:52:124:23:47:14:52:99:107:25:87:86: 14:11:47:44 25:34:41:57:47:58:224:73:77:54:50:49:117:27:87:88: 44:16:77:94 и таких 20 строк. Ниже приведен код, где имеется поле 20х20 ячеек. Как сделать, чтобы каждая строка в txt файле соответствовала строке поля, а каждая цифра, разделённая : , соответствовала номеру ячейки? При клике в соответствующем поле (ячейке) должна выводится соответствующая цифра. Недоделанный Код: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, jpeg; type TForm1 = class(TForm) Image1: TImage; Image2: TImage; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; M: Array [1..20] of Array [1..20] of Integer; implementation {$R *.dfm} Procedure UstSob; Var i,j: Integer; begin For i:= 1 To 20 Do For j:= 1 To 20 Do M[i,j]:= 0; // Обнулим все ячейки M[1,1]:= $10; // установим на яч. 1х1 событие ($00-$FF) M[20,20]:= $20; // установим на яч. 20х20 событие ($00-$FF) end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var F: TextFile; S: string; Const a = 20; b = 20; begin UstSob; Image2.Left:= a*(X div a); Image2.Top:= b*(Y div b); if M[(X div a)+1,(Y div b)+1] = $10 Then ShowMessage('Событие $10'); if M[(X div a)+1,(Y div b)+1] = $20 Then ShowMessage('Событие $20'); begin AssignFile(F, '1.txt'); Reset(F); Readln(F, S); ShowMessage(S); CloseFile(F); end; end; end. Помогите пожалуйста доделать, никак сообразить не могу. На всякий случай пример: Последний раз редактировалось Ankor, 01.01.2012 в 18:12. |