Thread View: pl.comp.lang.pascal
10 messages
10 total messages
Started by mz
Sat, 13 Oct 2007 19:10
tworzenie nowego pliku
Author: mz
Date: Sat, 13 Oct 2007 19:10
Date: Sat, 13 Oct 2007 19:10
12 lines
1177 bytes
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
Author: Tristan
Date: Sat, 13 Oct 2007 19:22
Date: Sat, 13 Oct 2007 19:22
16 lines
1200 bytes
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
Author: mz
Date: Sat, 13 Oct 2007 19:39
Date: Sat, 13 Oct 2007 19:39
17 lines
1421 bytes
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
Author: Terrmit
Date: Sun, 14 Oct 2007 11:17
Date: Sun, 14 Oct 2007 11:17
19 lines
1563 bytes
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
Author: Terrmit
Date: Sun, 14 Oct 2007 11:42
Date: Sun, 14 Oct 2007 11:42
31 lines
1947 bytes
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
Author: Solaris
Date: Sun, 14 Oct 2007 11:57
Date: Sun, 14 Oct 2007 11:57
18 lines
1866 bytes
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
Author: Wiktor S.
Date: Sun, 14 Oct 2007 14:44
Date: Sun, 14 Oct 2007 14:44
12 lines
1267 bytes
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
Author: Wiktor S.
Date: Sun, 14 Oct 2007 14:44
Date: Sun, 14 Oct 2007 14:44
12 lines
1288 bytes
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
Author: Terrmit
Date: Sun, 14 Oct 2007 16:00
Date: Sun, 14 Oct 2007 16:00
8 lines
1273 bytes
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
Author: Solaris
Date: Sun, 14 Oct 2007 17:37
Date: Sun, 14 Oct 2007 17:37
18 lines
1632 bytes
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