Delphi a sieć

0

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 ?

0

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".

0

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;
0

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 ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1