Kupiłem Router TL-WR1043ND, można nim połączyć cztery komputery w sieć WLAN po Wi-FI. Jakiej ścieżki mam użyć aby założyć zbior na drugim komputerze w Delphi XE2 ?
hę? u mnie na WLAN działa 9 urządzeń, czemu akurat 4? I wytłumacz proszę co rozumiesz przez "ścieżki mam użyć aby założyć zbior".
Mogę się mylić, ale konstrukcje typowe dla Pascala/Delphi jak Assign/AssignFile
mogą nie poradzić sobie z odczytem lub zapisem plików z sieciowych lokalizacji. Polecam skorzystać z funkcji WinAPI, które dają sobie z tym radę. Miało nie być gotowców, ale mały wyjątek tym razem ;) Poniżej masz sprawdzony i krótki przykład funkcji do odczytu i zapisu stringa do pliku z przykładowej lokalizacji. Oczywiście aby dostać się do danego pliku czy lokalizacji musisz mieć do tego odpowiednie prawa.
function ReadTextFromFile(AFileName : string; var OutStr : string) : boolean;
var
BytesRead : DWORD;
SrcFile : THandle;
SrcFileSize : Int64;
begin
OutStr := '';
SrcFile := CreateFile(PChar(AFileName), GENERIC_READ,
FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := SrcFile <> INVALID_HANDLE_VALUE;
if Result then
begin
SrcFileSize := GetFileSize(SrcFile, nil);
SetLength(OutStr, SrcFileSize);
ReadFile(SrcFile, OutStr[1], SrcFileSize, BytesRead, nil);
CloseHandle(SrcFile);
end;
end;
function SaveTextToFile(AFileName : string; InStr : string) : boolean;
var
OutFile : THandle;
BytesWritten : DWORD;
OutFileSize : integer;
begin
OutFile := CreateFile(PChar(AFileName), GENERIC_WRITE,
FILE_SHARE_READ, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
Result := OutFile <> INVALID_HANDLE_VALUE;
if Result then
begin
OutFileSize := Length(InStr);
WriteFile(OutFile, InStr[1], OutFileSize, BytesWritten, nil);
CloseHandle(OutFile);
end;
end;
// Przykład użycia z komponentem TMemo:
var
S : String;
begin
// Odczyt
ReadTextFromFile('\\Olesiowy\_____TEST\plik.txt', S);
Memo1.Text := S;
// Zapis
S := S + '!kolejny zapis';
SaveTextToFile('\\Olesiowy\_____TEST\plik.txt', S);
end;
Osobne pytania zadawaj w osobnych wątkach. Nie w komentarzach. Nie mam takiego urządenia. Ale ja bym najwygodniej pod Total Commanderem zobaczył czy na to urządzenie z poziomu otoczenia sieciowego da się wjeść i co tam widać. Jeżeli się da to skopiował odpowiednim poleceniem z menu Zaznacz
skopiował pełną ścieżkę i tak się odwoływał funkcjami WinAPi do tego urządzenia. Bo nic nie wspominasz jak korzystasz z tego urządzenia w normalny sposób - nie podczas prób kombinowania w Delphi. Jeżeli po HTTP to ustalił bym Snifferem lub Debuggerem HTTP jakie odnośniki są odwiedzane i jakie polecenia wysyłane są na przykład metodą POST
. Jeżeli to jest ruter, który do obsługi przez HTTP nie korzysta z JavaScriptu to można spróbować go kontrolować po HTTP z użyciem: Synapse lub Simple Tcp lub od biedy Indy. A jeżeli potrzebuje koniecznie przeglądarki z obsługa JavaScriptu aby móc działać prawidłowo to próbował bym z pod TWebBrowsera, ale z nim nie miałem za wiele do czynienia i jeśli to możliwe staram się unikać go jak ognia. Chyba jedynie @kAzek tutaj ogarnia w pełni ten komponent ;)