Stránka 1 z 2

Automatický název souboru v delphi  Vyřešeno

Napsal: 27 led 2010 15:20
od Zeppelin
Zdravím a prosím Vás o radu, začínám programovat v Delphi a potřebuji poradit: Potřeboval bych aby když se mi po vybrání nějaké položky z ComboBoxu vytvoří textový soubor(to už mi funguje) tak aby název souboru byl stejný jako položka která toto vytvoření souboru způsobila... Tato funkce mi jde naprosto v pohodě se složkami-vyberu z ComboBoxu položku (např. rok 2010) a Vytvoří se mi složka "2010" Teď ale právě potřebuji aby se mi vytvořil i textový soubor "2010". Moc děkuji za Vaše rady.

Re: Automatický název souboru v delphi

Napsal: 27 led 2010 15:57
od CZechBoY
Co třeba otevřít soubor s tím názvem, já to takhle dělám a funguje...
Pokud bys chtěl kód tak to neporadím, maximálně tak ve VB xD

Re: Automatický název souboru v delphi

Napsal: 27 led 2010 18:03
od Zeppelin
No to právě nestačí-uložit soubor se zadaným názvem a pak ho otevřít umím... ale já potřebuji aby se ten název vygeneroval sám....

Re: Automatický název souboru v delphi+Jedna věc

Napsal: 27 led 2010 20:00
od Zeppelin
Opět zdravím, mám ještě jeden dotaz proto jsem změnil i nadpis... potřeboval bych ještě jestli někdo nevíte jak to udělat aby když si vytvořím složku (CreateDir) která se sama pojmenuje podle toho na jakou položku v ComboBoxu kliknete, a po té chcete aby se soubor který se vytvoří vložil do této složky tak jak zadáte v kódu že chcete aby se soubor uložil do složky která se jmenuje jako položka v ComboBoxu.... nevím jestli je to srozumitelné ale jsem začátečník a vše čtu z knihy a netu.... prakticky 100% věcí najdu ale tohle né a né.... Takže prostě: kliknu na položku v ComboBoxu, to vytvoří složku která se jmenuje jako ta položka (to mi fachčí) po té chci aby se vytvořil soubor (.txt) který se automaticky pojmenuje po položce v ComboBoxu (jako ta složka) a pak aby se ten soubor uložil do té automaticky vytvořené složky (ale tak abych nemusel cestu+název složky psát já, nýbrž aby to 'pochopilo samo') Doufám, že je to srozumitelné, a že někdo budete vědět. Děkuji moc a moc Všem kteří pomohou.

Re: Automatický název souboru v delphi

Napsal: 27 led 2010 20:40
od CZechBoY
Pokud ti to pomůže ukáže ti to ve VB, pak zkusim něco dohledat i pro Delphi.
[syntax lang=vb]
jmeno = ComboBox.Text
CreateDir(jmeno)
Open jmeno & "/" & jmeno & ".txt" For Append as #1
Close #1
[/syntax]
nějak tak, teď nevim jak se dělá složka tak jsem dal createdir :D

Re: Automatický název souboru v delphi

Napsal: 27 led 2010 22:08
od Sender
Jen kousek kódu pro inspiraci.Pro správnou funkčnost je to potřeba ošetřit.(dá se to napsat více způsoby).
[syntax lang=delphi]
procedure TForm1.Button1Click(Sender: TObject);
var st:TStringList;
Polozka:string;
begin
st:=TStringList.Create;
st.Add('nějakej text...');
Polozka:=Trim(ComboBox1.Text);
if (Polozka<>'')then
if not (FileExists(ExtractFilePath(Application.ExeName)+Polozka+'.txt')) then
st.SaveToFile(ExtractFilePath(Application.ExeName)+Polozka+'.txt')
else ShowMessage('Chyba !');
st.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Polozka:string;
begin
Polozka:=Trim(ComboBox1.Text);
if (Polozka<>'')then if not DirectoryExists(ExtractFilePath(Application.ExeName)+Polozka)THEN
CreateDir(ExtractFilePath(Application.ExeName)+Polozka)
else ShowMessage('Chyba !');
end;
[[/syntax]

Re: Automatický název souboru v delphi

Napsal: 28 led 2010 14:06
od Zeppelin
Moooc děkuji, rada od Sender funguje :-) ale s tím že ten soubor-který už má ten název :wink: tak se ale neuloží do té složky s tím samým názvem... Vím že jsi psal že se to má ošetřit ale bohužel 'programuji' tři týdny a tak se mi víc než to co přikládám nepovedlo. Pokud by jste ještě někdo věděl tak bych byl moc vděčný. Děkuji.

[syntax]procedure TForm1.UlozitClick(Sender: TObject);
var st:TStringList;
Polozka:string;
begin

st:=TStringList.Create;
st.Add(Text_samec.Text); //Memo
Polozka:=Trim(Rok_samec.Text); //ComboBox
if (Polozka<>'')then
if not (FileExists(ExtractFilePath(Application.ExeName)+Polozka+'.txt'))
then
st.SaveToFile(ExtractFilePath(Application.ExeName)+Polozka+'.txt');
if(Polozka<>'')then if not DirectoryExists(ExtractFilePath
(Application.ExeName)+Polozka)THEN
CreateDir(ExtractFilePath(Application.ExeName)+Polozka)

end;[/syntax]

Re: Automatický název souboru v delphi

Napsal: 28 led 2010 18:44
od Zeppelin
Tak jsem to trošku 'pokrátil' a kód je funkční i takto:
[syntax lang=delphi]

st:=TStringList.Create;
st.Add(Text_samec.Text);
Polozka:=Trim(Rok_samec.Text);
st.SaveToFile(ExtractFilePath(Application.ExeName)+Polozka+'.txt');
CreateDir(ExtractFilePath(Application.ExeName)+Polozka);[/syntax]

Takže tedy už mi jen zbývá aby se ten soubor uložil do té složky. Díky všem kteří poradí.

Re: Automatický název souboru v delphi

Napsal: 28 led 2010 18:51
od CZechBoY
Co znamená to st.SaveToFile ?
kdybys to dal po tom příkazu jak vytvoří složku tak by to mělo vytvořit ten soubor, jestli ten příkaz vytváří soubor...

Re: Automatický název souboru v delphi

Napsal: 28 led 2010 21:48
od Zeppelin
Ano ukládá to ten soubor, a když jsem to prohodil (nejdřív složku potom soubor) tak je výsledek stejný-vytvoří se složka i soubor-správně ale ten soubor není v té složce... a to je špatně. Díky všem i nadále.

Re: Automatický název souboru v delphi

Napsal: 28 led 2010 21:51
od CZechBoY
Já Delphi fakt neumim, plácám to z toho co tu píšete :D
[syntax lang=delphi]
st.SaveToFile(ExtractFilePath(Application.ExeName)+'/'+Polozka+'/'+Polozka+'.txt');
[/syntax]

Re: Automatický název souboru v delphi

Napsal: 28 led 2010 22:43
od Zeppelin
Suuuuupr!!! Už to fachá :D moooc díky Tobě i ostatním. Jestli to nebude ostatním vadit nechám téma ještě otevřené kdyby ještě něco :wink: Usoudil sem že líp se mi to učí tím, že jednak čtu knihu+net a dělám věci který ještě neumím ale 'plácám' je z netu a tak, přečíst knížku od začátku do konce je škoda času. Dík!