Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 556

/ вопрос открыт /

Здравствуйте, эксперты!
Решила к Вам обратиться с таким вопросом. Дело в том, что не так давно нашла хороший учебник с иллюстрацией программы в коде. Суть в том, что не получается вывести на Image ряд картинок, с дальнейшей возможностью их перетаскивания и соединения.
По учебнику эти изображения хранятся в текстовом файле и каждому соответствует наименование object (это для массива).

Приложение:
  1.  
  2. CALC.BMP Object 1
  3. CALCOLD.BMP Object 2
  4. CALENDAR.BMP Object 3
  5. CHECKMRK.BMP Object 4
  6. CLDTABL.BMP Object 5
  7. CLIP01.BMP Object 6
  8. ///////////////////////////////
  9. private
  10.  
  11. NumIco,NumObj,NumSel,NumLin: byte;
  12. NumDrag: shortint;
  13. xt,yt,xk,yk: integer;
  14. Bitmap: TBitmap;
  15. Ok: boolean;
  16. { Private declarations }
  17.  
  18. procedure ShowIco;
  19. procedure ShowObj;
  20. .....
  21. const ch=64; c7=15; hx=32; hy=32; del=4;
  22. x0=0; y0=0; cLin=20; cObj=20; cBmp=30;
  23.  
  24. type TObj=record
  25. u,v: integer;
  26. Nam: string[12];
  27. end;
  28. TLin=record
  29. xc,y1c,y2c: integer;
  30. n1,n2: byte;
  31. fl_net: byte;
  32. end;
  33. TObmp=record
  34. namefile: string[12];
  35. name: string[12];
  36. end;
  37. var
  38. Form1: TForm1;
  39. s: string;
  40. f: textfile;
  41. Obj: array[1..cObj] of TObj;
  42. Lin: array[1..cLin] of TLin;
  43. Obmp: array[0..cBmp] of TObmp;
  44. f1: file of TObj;
  45. f2: file of TLin;
  46. FileN,FileP: string[60];
  47.  
  48. Implementation
  49. procedure TForm1.FormActivate(Sender: TObject);
  50. var i: integer;
  51. q: byte;
  52. begin
  53. k:=0; NumDrag:=-1; NumObj:=0;
  54. NumLin:=0; fl_tools:=0;
  55. Bitmap:= TBitmap.Create;
  56. i:=-1;
  57. AssignFile(f,'Bmp.txt'); Reset(f);
  58. while not EOF(f) do
  59. begin
  60. Readln(f,s); Inc(i); q:=Pos(' ',s);
  61. Obmp[i].namefile:=Copy(s,1,q-1);
  62. Obmp[i].name:=Copy(s,q+1,Length(s)-q);
  63. end;
  64. CloseFile(f);
  65. NumIco:=i+1;
  66.  
  67.  
  68. end;
  69.  
  70.  
  71. procedure TForm1.ShowIco;
  72. var i: integer;
  73. begin
  74. with Image1.Canvas do
  75. begin
  76. Font.Name:='Sans Serif';
  77. Font.Size:=6;
  78. Brush.Color:=$00C4F7FF;
  79. RectAngle(-1,-1,Width,Height);
  80. Brush.Color:=clWhite;
  81. for i:=fl_ofs to c7+fl_ofs do
  82. begin
  83. begin
  84. Bitmap.LoadFromFile(Obmp[i].namefile);
  85. Brush.Color:=clWhite;
  86. RectAngle(10+((i-fl_ofs) mod 2)*ch-1,
  87. 10+((i-fl_ofs) div 2)*ch-1,
  88. 10+((i-fl_ofs) mod 2)*ch+33,
  89. 10+((i-fl_ofs) div 2)*ch+33);
  90. Draw(10+((i-fl_ofs) mod 2)*ch,
  91. 10+((i-fl_ofs) div 2)*ch,Bitmap);
  92. Brush.Color:=$00C4F7FF;
  93. TextOut(10+((i-fl_ofs) mod 2)*ch,
  94. 10+((i-fl_ofs) div 2)*ch+34,Obmp[i].name);
  95. end;
  96. end;
  97. end;
  98. end;
  99.  


Ekaterina_20 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Ekaterina_20 (статус: Посетитель)
Вопрос отправлен: 23 марта 2009, 22:30
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 31 мая 2023, 22:15
Выполнено за 0.03 сек.
Рейтинг@Mail.ru