Autor Téma: Generování dokumentace  (Přečteno 253 krát)

Offline rmaster

  • Nováček
  • *
  • Příspěvků: 5
  • Karma: 0
    • Verze Delphi: XE3
Generování dokumentace
« kdy: 03-12-2021, 07:02:15 »
Dobrý den,
prosím, poradíte někdo, jak komponentu Button, ComboBox, CheckBox (a případně i jiné) převedu na Bitmap?
O co mi jde? Chtěl bych vygenerovat jednoduchou dokumentaci z mé aplikace například do HTML a dále ji ručně upravit.
V programu mám už stovky SpeedButton, kde je to jednoduché vygenerovat bitmap, ale u komponent, které uvádím, si s tím nevím rady.
Mám v programu u všech komponent HINT, takže bych tímto způsobem chtěl vygenerovat dokumentaci.
Nějak takto:
Kód: Delphi [Vybrat]
  1.   RXDoc1:=TMemo.Create(self);
  2.   RXDoc1.Visible:=False;
  3.   RXDoc1.Parent:=Self;
  4.   RXDoc1.WordWrap:=False;
  5.  
  6.   RXDoc1.Lines.Add('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">');
  7.   RXDoc1.Lines.Add('<html>');
  8.   RXDoc1.Lines.Add('<head>');
  9.   RXDoc1.Lines.Add('<meta http-equiv="content-type" content="text/html; charset=utf-8">');
  10.   RXDoc1.Lines.Add('<meta name="generator" content="PSPad editor, www.pspad.com">');
  11.   RXDoc1.Lines.Add('<title></title>');
  12.   RXDoc1.Lines.Add('</head>');
  13.   RXDoc1.Lines.Add('<body>');
  14.  
  15.   for i := 0 to (ComponentCount - 1) do
  16.     begin
  17.       if (Components[i] is TSpeedButton) then
  18.         begin
  19.           S:=IntToStr(i);
  20.           TSpeedButton(Components[i]).Glyph.SaveToFile('c:\TEMP\Obr'+S+'.bmp');
  21.           PopisHint:=TSpeedButton(Components[i]).Hint;
  22.           RXDoc1.Lines.Add('<img src="'+'c:\TEMP\Obr'+S+'.bmp'+'" border="0">'+PopisHint+'<BR>');
  23.         end;
  24.     end;
  25.  
  26.   RXDoc1.Lines.Add('</body>');
  27.   RXDoc1.Lines.Add('</html>');
  28.   RXDoc1.Lines.SaveToFile('c:\TEMP\Dokumentace.html');
  29.  

Děkuji.

Offline Slappy

  • Hrdina
  • ****
  • Příspěvků: 252
  • Karma: 12
  • Slappy
    • Verze Delphi: 11 Alexandria + Vsetky :)
    • unSigned
Re:Generování dokumentace
« Odpověď #1 kdy: 03-12-2021, 09:54:36 »
Staci pridat niekolko obrazkov do resourcov a tie pouzit - obrazok pre checkbox, radio button, button, atd. (pre vsetky triedy, ktore potrebujes)

Pre checkbox je to najjednoduchsie: pouzijes 2 obrazky pre checkbox (zaskrtnuty / odskrtnuty), ktore vlozis do kodu...

Ja som mal skor na mysli nejaky pokrocilejsi generator, ktory vygeneruje akoby cely komponent v html:

Proste budes prechadzat vsetky controls na formulari a pomocou javascriptu si z jeho Properties vygenerujes akoby nahlad celeho komponentu (na rovnakom principe - obrazok bude v resourcoch, doplni sa Caption/Text ....)

Alebo to uz prilis komplikujem?
Moje projekty: http://www.unsigned.sk Tvorba cool dizajnovych instalatorov v NSIS a Inno Setup. Rozsirenie pre Visual Studio a RAD Studio pre tvorbu NSIS a Inno Setup instalatorov.

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 441
  • Karma: 9
    • Verze Delphi: XE2
Re:Generování dokumentace
« Odpověď #2 kdy: 03-12-2021, 11:15:10 »
A nebylo by lepší sejmout celý formulář a pak k tomu dodělat komentář. viz příloha ?
U tvého řešení může dojít k tomu že budeš  mít hafo jednotlivých obrázků a nebude
na první pohled zřejmé kde jsou na obrazovce ..