🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.pascal
10 messages
10 total messages Started by mz Sat, 13 Oct 2007 19:10
tworzenie nowego pliku
#92156
Author: mz
Date: Sat, 13 Oct 2007 19:10
12 lines
1177 bytes
Witam
Jak bawiłem się w Delphi 2005 to utworzenieni nowego pliku tekstowego 
robiłem za pomocą poniższego kodu:
  var
    S : TFileStream;
  begin
   S := TFileStream.Create('C:\\plik.txt', fmOpenWrite);

W linuxie nie mam dysku c: więc jak zapisać że chce utworzyć nowy plik ?
Zapis \\kome\\nazwa_użytkownka\\Pulpit\\plik.txt nic nie daje.
Program niby działa ale nie tworzy nowego pliku.
Pozdrawiam i prosze o sugestie.
Re: tworzenie nowego pliku
#92157
Author: Tristan
Date: Sat, 13 Oct 2007 19:22
16 lines
1200 bytes
W odpowiedzi na pismo z sobota, 13 października 2007 21:10 
(autor mz 
publikowane na pl.comp.lang.pascal, 
wasz znak: <fer5h5$gtq$1@nemesis.news.tpi.pl>):

> Zapis \\kome\\nazwa_użytkownka\\Pulpit\\plik.txt

a nie tak przypadkiem / zamiast \, home zamiast kome i Desktop zamiast
Pulpit?


-- 
Tristan
Jeśli chcesz się dowiedzieć jak nieskutecznie a złośliwie spamować, 
napisz tu: beata@neobit.pl ola@neobit.pl taniaksiazka.sklep.pl@wp.pl
krzysztof.rosolek@neostrada.pl
Re: tworzenie nowego pliku
#92158
Author: mz
Date: Sat, 13 Oct 2007 19:39
17 lines
1421 bytes
Tristan pisze:
> W odpowiedzi na pismo z sobota, 13 października 2007 21:10 
> (autor mz 
> publikowane na pl.comp.lang.pascal, 
> wasz znak: <fer5h5$gtq$1@nemesis.news.tpi.pl>):
> 
>> Zapis \\kome\\nazwa_użytkownka\\Pulpit\\plik.txt
> 
> a nie tak przypadkiem / zamiast \, home zamiast kome i Desktop zamiast
> Pulpit?
> 
> 
Co do / czy \ nie mam pewności w windowsie było \ w linuxie poprostu nie 
wiem.
Ale wiem jak nazywa się katalog z pulpitem mojego użytkownika i jest to 
właśnie Pulpit.
Fedora 7 - ten typ tak ma.
Re: tworzenie nowego pliku
#92159
Author: Terrmit
Date: Sun, 14 Oct 2007 11:17
19 lines
1563 bytes
mz napisał(a):
> Tristan pisze:
>> W odpowiedzi na pismo z sobota, 13 października 2007 21:10 (autor mz 
>> publikowane na pl.comp.lang.pascal, wasz znak: 
>> <fer5h5$gtq$1@nemesis.news.tpi.pl>):
>>
>>> Zapis \\kome\\nazwa_użytkownka\\Pulpit\\plik.txt
>>
>> a nie tak przypadkiem / zamiast \, home zamiast kome i Desktop zamiast
>> Pulpit?
>>
>>
> Co do / czy \ nie mam pewności w windowsie było \ w linuxie poprostu nie 
> wiem.
> Ale wiem jak nazywa się katalog z pulpitem mojego użytkownika i jest to 
> właśnie Pulpit.
> Fedora 7 - ten typ tak ma.

/home/nazwa_uzytkownika/Desktop/plik.txt
Re: tworzenie nowego pliku
#92160
Author: Terrmit
Date: Sun, 14 Oct 2007 11:42
31 lines
1947 bytes
Terrmit napisał(a):
> /home/nazwa_uzytkownika/Desktop/plik.txt

Albo lepiej:

  var
    S : TFileStream;
    FP : String; //FilePath
  begin

{$IFDEF WIN32}
   FN := 'C:\Documents and Settings\nazwa_uzytkownika\Pulpit\';
{$ENDIF}
{$IFDEF LINUX}
   FN := '/home/nazwa_uzytkownika/Desktop/';
{$ENDIF}

   S := TFileStream.Create(FN+'plik.txt', fmOpenWrite);

Poza tym stała PathDelim zawiera odpowiedni separator.
Dla Windows Pathdelim = '\', a dla Linuksa '/'.

Jednak należy zauważyć, że Documents and Settings nie zawsze jest
na dysku C: i co więcej nazwy użytkowników wcale nie muszą znajdować
się w Documents and Settings w Windows(!), ani w home w Linuksie(!).
Gdy program jest pisany dla różnych, nieznanych użytkowników, to
należy zbadać na jakim napędzie znajduje się folder użytkowników
i jak się on nazywa, jaka jest nazwa użytkownika i jak się nazywa
folder pulpitu (czy desktopu jak kto woli).

Sławek
Re: tworzenie nowego pliku
#92161
Author: Solaris
Date: Sun, 14 Oct 2007 11:57
18 lines
1866 bytes
Dnia Sun, 14 Oct 2007 13:42:40 +0200, jakże pięknego
Terrmit <terrmitv@poczta.onet.pl> wystukał co zawarte poniżej:

:: Jednak należy zauważyć, że Documents and Settings nie zawsze jest
:: na dysku C: i co więcej nazwy użytkowników wcale nie muszą znajdować
:: się w Documents and Settings w Windows(!), ani w home w Linuksie(!).
:: Gdy program jest pisany dla różnych, nieznanych użytkowników, to
:: należy zbadać na jakim napędzie znajduje się folder użytkowników
:: i jak się on nazywa, jaka jest nazwa użytkownika i jak się nazywa
:: folder pulpitu (czy desktopu jak kto woli).

Od tego są funkcje do pobierania domowego katalogu użytkownika, czy nawet
najprościej getenv('$HOME')
-- 
Home: admin.idns.pl
Linux registered user: 408584
Contact: GG#44450, solaris#idns.pl
19:16:28 -!- Platyna Erroneous Nickname 
Re: tworzenie nowego pliku
#92164
Author: Wiktor S.
Date: Sun, 14 Oct 2007 14:44
12 lines
1267 bytes
>   S := TFileStream.Create('C:\\plik.txt', fmOpenWrite);
>
> W linuxie nie mam dysku c: więc jak zapisać że chce utworzyć nowy
> plik ? Zapis \\kome\\nazwa_użytkownka\\Pulpit\\plik.txt nic nie daje.
> Program niby działa ale nie tworzy nowego pliku.
> Pozdrawiam i prosze o sugestie.

W linuksie jest / a nie \ ale przede wszystkim, dlaczego robisz \\ zamiast / 
? to nie C++!

-- 
Azarien
Re: tworzenie nowego pliku
#92165
Author: Wiktor S.
Date: Sun, 14 Oct 2007 14:44
12 lines
1288 bytes
>   S := TFileStream.Create('C:\\plik.txt', fmOpenWrite);
>
> W linuxie nie mam dysku c: więc jak zapisać że chce utworzyć nowy
> plik ? Zapis \\kome\\nazwa_użytkownka\\Pulpit\\plik.txt nic nie daje.
> Program niby działa ale nie tworzy nowego pliku.
> Pozdrawiam i prosze o sugestie.

W linuksie jest / a nie \ ale przede wszystkim, dlaczego robisz \\ zamiast \ 
? to nie C++!

--
Azarien. 
Re: tworzenie nowego pliku
#92162
Author: Terrmit
Date: Sun, 14 Oct 2007 16:00
8 lines
1273 bytes
Solaris napisał(a):
[ciach]
> Od tego są funkcje do pobierania domowego katalogu użytkownika, czy nawet
> najprościej getenv('$HOME')

We FreePascalu to GetEnvironmentVariable('HOME');

Sławek
Re: tworzenie nowego pliku
#92163
Author: Solaris
Date: Sun, 14 Oct 2007 17:37
18 lines
1632 bytes
Dnia Sun, 14 Oct 2007 18:00:57 +0200, jakże pięknego
Terrmit <terrmitv@poczta.onet.pl> wystukał co zawarte poniżej:

:: Solaris napisał(a):
:: [ciach]
:: > Od tego są funkcje do pobierania domowego katalogu użytkownika, czy nawet
:: > najprościej getenv('$HOME')
:: 
:: We FreePascalu to GetEnvironmentVariable('HOME');

Oczywiście. Nie podawałem nazwy funkcji, bo byłem pewien że autor wątku sam sobie
znajdzie takową.

-- 
Home: admin.idns.pl
Linux registered user: 408584
Contact: GG#44450, solaris#idns.pl
19:16:28 -!- Platyna Erroneous Nickname 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads