CopyMemory

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

CopyMemory

Beitrag von Joel »

Ich hab ne kurze Frage ich möchte eine empfangene datei von mit copyfile auf der Festbatte speichern wo der ort mit savefileRequester festgelegt wurde. Aber als ausgangs ort kann man nicht:datei$ angeben.
Wie geht das sonst noch?

Code: Alles auswählen

Case 2
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffers, 99999)
          MessageRequester("Info", "String: "+PeekS(Buffer), 0)
          File$ = SaveFileRequester("PureBasic - Save", "C:\test.pb", "Text (*.txt)|*.txt|(PureBasic (*.pb)|*.pb", 1)
          ;Filen=$ m
          CopyMemory("*Buffers", "File$", 999999)
;...
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

jetzt gehts hier ma der ganze code nur irgentwie funktioniert das senden und empfangen nicht!
server:

Code: Alles auswählen

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 7000
Bufferm = AllocateMemory(99999999)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
      Select SEvent
      
        Case 1
          MessageRequester("PureBasic - Server", "A new client has connected !", 0)
  
        Case 2
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffers, 4900)
          MessageRequester("Info", "String: "+PeekS(Buffer), 0)
          File$ = SaveFileRequester("PureBasic - Save", "C:\test.pb", "Text (*.txt)|*.txt|(PureBasic (*.pb)|*.pb", 1)
          ;Filen=$ m
          CopyFile("*Buffer", "File$")

        Case 3
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
          ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
  
        Case 4
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connexion...", 0)
          Quit = 1
    
      EndSelect
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End   
Client:

Code: Alles auswählen

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 7000
If OpenWindow(8, 200, 200, 400, 300, "Intel IP 1.0", #PB_Window_SystemMenu, 0)
 If CreateGadgetList(WindowID(8))
 
 
 
 
 
ConnectionID = OpenNetworkConnection("192.168.2.25", Port)
If ConnectionID
  MessageRequester("PureBasic - Client", "Client connected to server...", 0)
  datei$ = OpenFileRequester("wäle die datei", "", "alles|*.*|All Files|*.*", 0)
  If datei$
  ProgressBarGadget(8, 10, 10, 70, 10, 0, 80 , #PB_ProgressBar_Smooth)
  FileSize(datei$)

  SetGadgetState(8,10)
  Delay(99999)
  SendNetworkData(ConnectionID, @datei$, 4900)
  ;SendNetworkString(ConnectionID, "An hello from a client !!! :-)")
    
  ;MessageRequester("PureBasic - Client", "A string has been sent to the server, please check it before quit...", 0)
  
  ;CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
  EndIf 
  EndIf 
  EndIf 
End   
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Das geht mit WriteData :)
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Ach so stimmt jetzt gehts :oops:
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Ach so stimmt jetzt gehts :oops:

Nichtsdestotrotz, folgende Zeile Deines ursprünglichen Codes:

Code: Alles auswählen

CopyMemory("*Buffers", "File$", 999999) 
zeigt, dass Du den Unterschied zwischen Strings und Variablen noch nicht so
ganz verstanden hast.

Schau Dir die Zeile mal genau an. Erkennst Du warum Dein Vorhaben nicht
klappen kann?

Grüße ... Kiffi
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

ja nachdem ich das hier eingetragen habe hab ich doch n weg gefunden wie das geht. Ja wie gesagt :lol: "ich bin blutiger Anfänger".
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Als anfanger solltest du , wie viele sagen nicht gleich mit Buffern anfangen. IMHO ist das sbaer eine gute einstellung wenn du weisst was du machst.
Antworten