» Poradna » Programy

Delphi

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 4/4
 |   |   |  [217.11.255.---]

Jak spustím v kódu nějakou externí aplikaci?
Jakou metodou smazat obsah komponenty StringGrid?
Díky moc za odpověď!

Odpovědi na otázku

 |   |   |  [85.132.252.---]

Tak pro to spusteni ext. aplikace bych ti doporucil funkci winAPI (tzn. musis pridat do uses ShellAPI), napisu ti funkci, ktera to udela...
FileName - nazev souboru (i s cestou)
Params - parametry aplikace
DefaultDir - defaultni adresar, ve kterem se ma aplikace spoustet
ShowCmd - parametr typu zobrazeni (nejcasteji budes pouzivat SW_SHOW, jinak se mrkni do help WinAPI)
function ExecuteFile(const FileName, Params, DefaultDir: string;
  ShowCmd: Integer): THandle;
var
  zFileName, zParams, zDir: array[0..79] of Char;
begin
  Result := ShellExecute(Application.MainForm.Handle, nil, StrPCopy(zFileName, FileName), StrPCopy(zParams, Params), StrPCopy(zDir, DefaultDir), ShowCmd);
end;
 
A ten StringGrid? Myslim, ze na to funkce neni, ale neni problem si ji napsat. :o)
for i := 0 to StringGrid1.RowCount do
 for j := 0 to StringGrid1.ColCount do
  StringGrid1.Cells[j,i] := ''; // nejsem si jisty, co je v cells prvni, jestli sloupec nebo radek, vyzkousej, kdyztak i a j otoc
Pisu to z fleku, tak se omlouvam, jestli to nepujde...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

K predani parametru jako PChar jej nepotrebujes prohanet bufferem, staci pouzit pretypovani:

ShellExecute(Application.MainForm.Handle, 'Open', PChar(FileName), PChar(Params), PChar(DefaultDir), SW_SHOWNORMAL);

Pokud nejaky parametr nevyplnujes, predej jej jako nil.

Co se tyka StringGridu, tak jeho radky a sloupce jsou typu TStrings, takze bud v cyklu projdes radky nebo sloupce a pouzijes Rows[index].Clear

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [212.47.30.---]

V Delphi existuje v unitě "Windows" funkce "WinExec" na spouštění externích programů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [84.242.95.---]

jen pozor sam Microsoft ji nedoporucuje pouzivat pro win32 aplikace. Pravdepobodne je zachovana z duvodu zpetne kompatibility. Alespon v helpu to oni pisou, takze pozor na neprijmna prekvapeni v budoucnu.
d.

Souhlasím  |  Nesouhlasím  |  Odpovědět



Určitě si přečtěte


Přechod z Windows na macOS: Co vás čeká a nemine

Přechod z Windows na macOS: Co vás čeká a nemine

** 5 kroků, které vás čekají, když se rozhodnete přejít z Windows na počítač značky Apple se systémem macOS ** macOS umí přenést data z počítače s Windows ** Při přechodu si budete zvykat na nové funkce a chování systému

17.  1.  2018 | Stanislav Janů | 148

Nejnovější americká výsadková loď USS Portland dostane laserovou zbraň

Nejnovější americká výsadková loď USS Portland dostane laserovou zbraň

** Právě v tomto období vstupuje do služby výsadková loď, která nese označení USS Portland (LPD-27) ** Specialisté na ní brzy přenesou laserový zbraňový systém XN-1 LaWS ** Ten dříve fungoval na výsadkové lodi třídy Austin/Trenton USS Ponce

17.  1.  2018 | Stanislav Mihulka | 6


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší