|
Вопрос # 2 556/ вопрос открыт / |
|
Здравствуйте, эксперты!
Решила к Вам обратиться с таким вопросом. Дело в том, что не так давно нашла хороший учебник с иллюстрацией программы в коде. Суть в том, что не получается вывести на Image ряд картинок, с дальнейшей возможностью их перетаскивания и соединения.
По учебнику эти изображения хранятся в текстовом файле и каждому соответствует наименование object (это для массива).
Приложение: Переключить в обычный режим-
- CALC.BMP Object 1
- CALCOLD.BMP Object 2
- CALENDAR.BMP Object 3
- CHECKMRK.BMP Object 4
- CLDTABL.BMP Object 5
- CLIP01.BMP Object 6
- ///////////////////////////////
- private
-
- NumIco,NumObj,NumSel,NumLin: byte;
- NumDrag: shortint;
- xt,yt,xk,yk: integer;
- Bitmap: TBitmap;
- Ok: boolean;
- { Private declarations }
-
- procedure ShowIco;
- procedure ShowObj;
- .....
- const ch=64; c7=15; hx=32; hy=32; del=4;
- x0=0; y0=0; cLin=20; cObj=20; cBmp=30;
-
- type TObj=record
- u,v: integer;
- Nam: string[12];
- end;
- TLin=record
- xc,y1c,y2c: integer;
- n1,n2: byte;
- fl_net: byte;
- end;
- TObmp=record
- namefile: string[12];
- name: string[12];
- end;
- var
- Form1: TForm1;
- s: string;
- f: textfile;
- Obj: array[1..cObj] of TObj;
- Lin: array[1..cLin] of TLin;
- Obmp: array[0..cBmp] of TObmp;
- f1: file of TObj;
- f2: file of TLin;
- FileN,FileP: string[60];
-
- Implementation
- procedure TForm1.FormActivate(Sender: TObject);
- var i: integer;
- q: byte;
- begin
- k:=0; NumDrag:=-1; NumObj:=0;
- NumLin:=0; fl_tools:=0;
- Bitmap:= TBitmap.Create;
- i:=-1;
- AssignFile(f,'Bmp.txt'); Reset(f);
- while not EOF(f) do
- begin
- Readln(f,s); Inc(i); q:=Pos(' ',s);
- Obmp[i].namefile:=Copy(s,1,q-1);
- Obmp[i].name:=Copy(s,q+1,Length(s)-q);
- end;
- CloseFile(f);
- NumIco:=i+1;
-
-
- end;
-
-
- procedure TForm1.ShowIco;
- var i: integer;
- begin
- with Image1.Canvas do
- begin
- Font.Name:='Sans Serif';
- Font.Size:=6;
- Brush.Color:=$00C4F7FF;
- RectAngle(-1,-1,Width,Height);
- Brush.Color:=clWhite;
- for i:=fl_ofs to c7+fl_ofs do
- begin
- begin
- Bitmap.LoadFromFile(Obmp[i].namefile);
- Brush.Color:=clWhite;
- RectAngle(10+((i-fl_ofs) mod 2)*ch-1,
- 10+((i-fl_ofs) div 2)*ch-1,
- 10+((i-fl_ofs) mod 2)*ch+33,
- 10+((i-fl_ofs) div 2)*ch+33);
- Draw(10+((i-fl_ofs) mod 2)*ch,
- 10+((i-fl_ofs) div 2)*ch,Bitmap);
- Brush.Color:=$00C4F7FF;
- TextOut(10+((i-fl_ofs) mod 2)*ch,
- 10+((i-fl_ofs) div 2)*ch+34,Obmp[i].name);
- end;
- end;
- end;
- end;
-
 |
Вопрос задала: Ekaterina_20 (статус: Посетитель)
Вопрос отправлен: 23 марта 2009, 22:30
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|