ďťż

57208_1

Lemur zaprasza

Strona: [  >  ]  z  1     










Autor
Temat: Znowu Winsock











PAWKO







Typ:
neutral

Postów: 42

Zarejestrowany: Mar 2003





Znowu Winsock


Mam problem.

Aplikacja Klienta wysyla zapytanie o dyski.

Serwer wysyła po kolei rodzaje dysków jakie posiada.

Kod:

    LiczbaDyskow = frmServer.drvDrive.ListCount
   
    For i = 0 To LiczbaDyskow - 1
        DoEvents
        DriveLabel = frmServer.drvDrive.List(i)
        DriveType = GetDriveType(Mid(DriveLabel, 1, 3))
        SendData ("Drive:" & DriveLabel & DriveType)
    Next


Problem pojawia sie w tym miejscu. Klient dostaje informacje o dyskach w jednym łańcuchu (np. c:e i do kontrolki ImageCombo dodaje mi sie tylko jedna pozycja (a:c:e

Prosze o pomoc!!!







18-05-2003 02:19



 
  














PAWKO







Typ:
neutral

Postów: 42

Zarejestrowany: Mar 2003







Tam powyżej nie ma być tych buziek tylko (bez spacji) c: d: e:







18-05-2003 02:21



 
  














napadlek

Ciapek





Typ:
neutral

Postów: 117

Zarejestrowany: Feb 2003





Taka troche bezsensowna procedurka:


Dim Str(30) As String
Dim Dyski As String
Dim L As Integer
Dim L2 As Integer
Dim char As String

L2 = 1
Dyski = "c:e:f:g:"

For L = 1 To Len(Dyski)

char = Mid(Dyski, L, 1)
Str(L2) = Str(L2) + char
If char = ":" Then L2 = L2 + 1

Next L

'Wiem ze to troche bezsensowne obciążac program, ale ta procedura wydłubie ze stringu Dyski pojedyncze partycje



_____________________________________________
ruszyla od nowa zapraszam






18-05-2003 20:21



 
        

3392810














m-a-x






Typ:
neutral

Postów: 366

Zarejestrowany: Jan 2003







Hmm... Też kiedyś miałem z tym problem. Można to rozwiązać na dwa sposoby. Albo za pomocą funkcji która czeka na potwierdenie odbioru przez drugą stronę informacji albo funkcji Sleep. chociaż ta ostatnia nie wiem czemu u mnie nie działała wiec napiszę tu tylko tą pierwszą możliwość.

Więc za każdym razem gdy serwer wyśle jakąś informacje np jeden dysk czeka na potwierdzednie odbioru. Czyli np:

winsock1.senddata( "c:" )
wait

gdzie wait to:

Public Function Wait()
    Do While reSponse <> "Ok"
    'wait for respond
        DoEvents
    Loop
reSponse = ""
End Function

do zdażenia Winsock1_DataArrival dodajemy kod:

Winsock1.GetData oData, vbString
If oData = "Ok" Then reSponse = "Ok"

I już. z tym że po stronie serwera musisz dodać kod wysyłający za każdym razem po odebraniu czegokolwiek stringa "Ok". Czyli:

Winsock1_DataArrival
...
Winsock1.SendData( "Ok" )

Mam nadzieje że to ci pomoże. (Jest to bardziej uniwersalny przykład niż ten poprzedni)


[Post edytowany dnia 18-05-2003 20:30 przez m-a-x]


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!






18-05-2003 20:29



 
  














PAWKO







Typ:
neutral

Postów: 42

Zarejestrowany: Mar 2003







Dzięki. Działa bardzo dobrze. Teraz kombinuje nad zawartością tych dysków.







24-05-2003 20:21



 
  













Wszystkich odpowiedzi: 4 :: Maxymalnie na stronę: 20










Strona: [  >  ]  z  1     
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • teen-mushing.xlx.pl
  • Wątki
    Powered by wordpress | Theme: simpletex | © Lemur zaprasza