[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.09.08
Prihlásený: 11.11.22
Príspevky: 69
Témy: 37 | 37
NapísalOffline : 04.10.2012 16:36 | pomoc pri CreateDir

Dobrý deň,
potreboval by som pomôcť pri mojom začiatočníckom probléme.Používam príkaz CreateDir a ak dám za paramater presne špecifikovaný adresár, nie je problém, ak idem cez premennú, problém nastane. Ako by som obišiel skutočnosť, aby v parametre nemusela byť konštanta.
Vďaka za pomoc, prikladám vzorový kód.


Kód:
procedure TForm1.Button1Click(Sender: TObject);
var
   New_dir : string;

begin
   New_dir := 'c:\jjj';

   if CreateDir('c:\jjj') then
      showmessage('vytvoril cez string')
   else
      showmessage('nevytvoril cez string');

   if CreateDir(New_dir) then
      showmessage('vytvoril cez variable:'+new_dir)
   else
      showmessage('nevytvoril cez variable:'+new_dir);

end;


Offline

Užívateľ
Užívateľ
pomoc pri CreateDir

Registrovaný: 02.12.06
Prihlásený: 05.05.24
Príspevky: 690
Témy: 35 | 35
Bydlisko: Rimavská So...
NapísalOffline : 04.10.2012 18:22 | pomoc pri CreateDir

neviem ako to funguje v delphi, ale ak ten súbor už existuje, tak by sa nemal vytvoriť
teda skús zakomentovať alebo odstrániť ten prvý if else prípadne pred vytváraním cez premennú priečinok zmazať


_________________
Math is the best!
Offline

Skúsený užívateľ
Skúsený užívateľ
pomoc pri CreateDir

Registrovaný: 11.01.09
Prihlásený: 07.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova
NapísalOffline : 04.10.2012 18:57 | pomoc pri CreateDir

V prvom rade, podla dokumentacie, funkcia CreateDir vytvori zlozku v aktualnej zlozke. Ty ju ale vytvaras v zlozke C:\ Ono by to mozno aj vzalo, ale dalsia vec je, ze mozno nemas prava zapisovat do zlozky C: v danom uzivatelskom ucte ( mozes skusit spustit aplikaciu ako spravca, tak zistis, ci je chyba prave tu, ale ja si myslim, ze problem je to, co som spomenul prve ). Na vytvorenie zlozky niekde inde by som radsej pouzil funkciu ForceDirectories.
Dalej nespominas, aky to vlastne problem nastane. Nemozes skompilovat alebo je problem az po spusteni? Skusal som to prehnat fpc kompilerom a nemal som problem, skompilovalo to, cize ak mas problem s kompilaciou ( ze ti tam nechce zobrat premennu miesto konstanty ), skus toto:
Kód:
if CreateDir( PChar( New_dir ) ) then
    // ...


Ak je problem az za behu, daj si v ShowMessage vypisat volanie funkcie IntToStr( GetLastError ) a napis sem jej obsah.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.09.08
Prihlásený: 11.11.22
Príspevky: 69
Témy: 37 | 37
Napísal autor témyOffline : 04.10.2012 21:51 | pomoc pri CreateDir

Ďakujem za Váš čas,
problém vzniká počas behu aplikácie,
výsledok IntToStr( GetLastError ) sa rovná nule, v mne známych helpoch sa píše iba o návratovej hodnote, ale nie o príčine falsu. Nevytvoril ani adresár, ktorý neexistoval.


Offline

Skúsený užívateľ
Skúsený užívateľ
pomoc pri CreateDir

Registrovaný: 11.01.09
Prihlásený: 07.05.24
Príspevky: 1385
Témy: 9 | 9
Bydlisko: Hrinova
NapísalOffline : 05.10.2012 11:27 | pomoc pri CreateDir

Cize problem je az za behu? V tom pripade to je trocha cudne, ze toto funguje:
Kód:
CreateDir('c:\jjj');


ale toto uz nie:
Kód:
CreateDir( New_dir );


Ak si to ale skusal presne tak, ako mas napisane, tak to bude zrejme tak, ako spominal Jarrro - najprv prebehne kod CreateDir('c:\jjj') a potom nasledne CreateDir(New_dir), pricom tato zlozka uz vytvorena je, cize ti vrati false. Skus zmazat ten prvy CreateDir s konstantnou hodnotou.

// Co sa tyka funkcie GetLastError, len pre istotu pripomeniem, ze tu treba volat az po volani funkcie CreateDir, aby sa tam zobrazila chybova sprava, ktoru vyvolala tato funkcia ( ak vobec ). Ak si takto volal, potom v poriadku. Btw, skusil si aj miesto funkcie CreateDir volat funkciu FroceDirectories?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 05.09.08
Prihlásený: 11.11.22
Príspevky: 69
Témy: 37 | 37
Napísal autor témyOffline : 05.10.2012 19:43 | pomoc pri CreateDir

Problém vznikol mojim nepochopením príkazu CreateDir, ktorý vytvára adresár, ale iba jednej úrovne, použitím príkazu ForceDirectories, ktorý vytvára celú cestu, sa celý problém vyriešil.
Vďaka.


 [ Príspevkov: 6 ] 


pomoc pri CreateDir



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc pri pomoc pri skladaní PC - od 1 500 do 1 800 Eur (rozlíšenie 1440p)

v PC zostavy

13

811

28.09.2023 20:23

johny314

V tomto fóre nie sú ďalšie neprečítané témy.

POMOC pri hladani

v Ostatné

3

480

28.11.2007 23:20

kibut

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc pri FastReporte

v Delphi, Visual Basic

0

404

15.12.2012 0:11

jasug

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc pri odhade

v Webhosting a servery

7

674

18.03.2011 22:06

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc pri ohodnoteni

v Informujem sa

6

662

02.11.2019 8:37

Ltblue

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri vybere.

v Notebooky a netbooky

6

578

14.11.2014 17:43

rado1121

V tomto fóre nie sú ďalšie neprečítané témy.

POMOC pri kupe

v Notebooky a netbooky

1

345

03.02.2015 17:23

ThinkPro

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri taknuti

v Biosy a ladenie výkonu

7

660

04.01.2008 21:04

3mko

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri vymene

v Základné dosky

3

406

03.01.2013 17:21

brmbo

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri instalovanii

v Operačné systémy Microsoft

3

357

14.08.2010 22:48

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri vybere

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Monitory, televízory a projektory

34

2007

21.01.2009 17:25

michal1313

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc pri kúpe

v PC zostavy

10

663

11.02.2012 0:59

dark_globe

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri rozhodnuti

v PC zostavy

11

706

15.04.2008 12:12

Daron

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri vybere?

v Grafické karty

1

395

27.11.2013 12:21

dark_globe

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri výbere

v Notebooky a netbooky

2

477

16.12.2008 16:35

barborka16

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pri upgrade

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PC zostavy

58

1593

21.05.2012 21:45

anairdan



© 2005 - 2024 PCforum, edited by JanoF