Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Übertragung von Bildern und Sound im LAN mit 2 Rechnern (https://www.delphipraxis.net/14453-uebertragung-von-bildern-und-sound-im-lan-mit-2-rechnern.html)

F.W. 15. Jan 2004 23:02

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Optimistisch bleiben! Ich werd's heute (16.01.04) mal auf einer Testform probieren. Ich werde es sicher schaffen, denn ich habe mir Delphi bis jetzt komplett selbst (durch Hilfedatei und !probieren!) beigebracht. Ich werd's dann mal posten!

F.W. 16. Jan 2004 12:15

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Gut, da habe ich wohl zu viel versprochen... :lol:
Ich werde mal im Internet nach einem Tutorial für sowas suchen, denn gebrauchen kann ich auf alle Fälle...

F.W. 26. Jan 2004 20:07

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Die Verbindung herstellen klappt soweit, nur habe ich Probleme bei SaveToStream.

ATwardz 26. Jan 2004 22:28

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe mich mal eurem Problem angenommen und n kleines Demoprogramm geschrieben!

Es versendet BMP über das Netz!

Das Beispiel is universell, was bedeutet das man mit wenigen änderungen alle Arten von Dateien versenden kann!

Was ich noch nicht realisiert habe, was aber sehr leicht selber machen könnt ist vielleicht noch ein eingebautes kompremierungstool, (vielleicht Zippen und BMP zu jpg)
Wenn ihr das Bild aus der Image komp. in einen Stream packen wollt und nicht wie ich hier von Datei zu Stream, benutzt einen normalen Stream!

Viel Erfolg noch!

Wenn ihr noch Fragen habt , fragt einfach!

Karneval steht vor der Tür :cheers:

F.W. 29. Jan 2004 20:10

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Ich muss nochmal stören:
Das ist toll von dir, Atwardz, aber eigentlich wollte ich's mit TWinSockets machen :( , damit ich es auch mit D6 Per bearbeiten kann.

Ich bin jetzt soweit, das keine Fehlermeldungen mehr kommen:
Delphi-Quellcode:
//Versenden:
var
 ST: TMemoryStream;
begin
 ST := TMemoryStream.Create;
   try
 Start.Picture.Bitmap.SaveToStream(ST);
 if IsServer then
    SS.Socket.Connections[0].SendBuf(ST, ST.Size)
 else
    CS.Socket.SendBuf(ST, ST.Size);
   finally
 ST.Free;
   end;
//Empfangen ins Client-/ServerSocket.(Client)Read
var
 ST: TMemoryStream;
begin
 ST := TMemoryStream.Create;
    try
 SS.Socket.Connections[0].ReceiveBuf(ST, Socket.ReceiveLength);
 ST.Seek(0, 0);
 Ziel.Picture.Bitmap.LoadFromStream(ST);
    finally
 ST.Free;
    end;
Es kommt keine Fehlermeldung, es wird alles still abgearbeitet!

Was ist der Fehler?

ATwardz 29. Jan 2004 22:17

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Hi,

leider kann ich dir mit Winsocks nicht dienen! Was bring dich zu der Vermutung das Delphi 6 kein Indy unterstützt???????? Alle Delphi Versionen ab min. 3 unterstützen Indy, musst du dir halt nur saugen
Hier ----> INDY 9.0

- Download 9.0.14 Source code distribution für Windows
- Unzip es!
- Je nachdem welches Delphi du hast führst du die dclIndyX0.dpk aus!Du hast Delphi 6 also die dclIndy60.dpk und drücks auf den Install Button!
Viola Indy läuft unter Delphi 6!

Hier der funktionierende Code für das versenden eines Bildes mit einem Memorystream!

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Server.DefaultPort:=33333;
  Server.Active:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
ST: TMemoryStream;
begin
  Client.Port:=33333;
  Client.Host:='192.168.2.103';
  ST := TMemoryStream.Create;
  Start.Picture.Bitmap.SaveToStream(ST);
  with Client do
  begin
  try
  Connect;
  OpenWriteBuffer;
  try
   WriteStream(ST, true, true, 0); {das 2. true ist wichtig!, da es bewirkt, dass die Größe des Streams mittels WriteInteger zuerst verschickt wird}
   CloseWriteBuffer;
      except
        CancelWriteBuffer;
        raise;
      end;
    finally
      disconnect;
      ST.Free;
    end;
end;
end;

procedure TForm1.ServerExecute(AThread: TIdPeerThread);
var
ST: TMemoryStream;
SizeOfIncomingStream: integer;
begin
ST := TMemoryStream.Create;
with AThread.Connection do
  begin
  try
      SizeOfIncomingStream := ReadInteger;
      ReadStream(ST,SizeOfIncomingStream);
  finally
      st.Position:=0;
      Ziel.Picture.Bitmap.LoadFromStream(ST);
      ST.Free;
      disconnect;
  end;
  end;
end;
Nun steht dir und Indy nichts mehr im Weg! Wenn du imernoch auf Winsocks besteht, die gegen quasi die Steinzeit symbolisieren wenn Indy unser Zeitalter ist, musst du leider jemand anderes Fragen weil es in Delphi 7 nur noch Indy gibt! Ich denke jeder hier im Forum wird dir aber zu Indy raten!
Wenn du mit Indy weiterarbeites stehe ich für alle Fragen zur verfügung!

@wardz!

Brüggendiek 30. Jan 2004 08:11

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Hallo!

Zitat:

Zitat von ATwardz
Alle Delphi Versionen ab min. 3 unterstützen Indy

Leider nicht ganz richtig! Die Indys gibt es ab D4. Bei D3 müssen die WinShoes benutzt werden (sind die Vorgänger der Indys). Grund sind die Dynamischen Arrays. Indy benutzt diese und D3 hat sie nicht.

Dieser Hinweis ist meiner Meinung nach sinnvoll, denn wenn jemand über die Suche auf diesen Thread stößt, erhält er sonst falsche Informationen.

Gruß

Dietmar Brüggendiek

F.W. 31. Jan 2004 12:30

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Meine Fresse, da hasst dus mir jetzt ganz schön gegeben, ich hatte mich gerade mit den Winsockets angefreundet :cry:

Aber na gut, hört sich überzeugend an! Werd's mir mal anschauen!

Danke!

ATwardz 31. Jan 2004 14:53

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Ne, so war das nit gemeint aber ich versuche halt immer die Leute von Indy zu überzeugen, mich musste man damals auch mit Mühe überzeugen!

Für Indy-Fragen stehe ich immer bereit!

@wardz

F.W. 31. Jan 2004 21:27

Re: Übertragung von Bildern und Sound im LAN mit 2 Rechnern
 
Sorry, so ich hab' das'n Bisschen übertrieben, war nicht so gemeint...

Aber das ist so'n bisschen dasselbe, von der Benutzung(als Programmierer) her, ja?

[Edit: Ich lasse mir immer dann etwas von Leuten sagen, wenn es sich überzeugend anhört; hinhören tue ich erst, wenn sie älter oder klüger sind... :wink: ]


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz