Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    3

    Collegamento sckGame con un file ini.

    Salve ragazzi sono felice di essermi registrato in questo forum.
    Vi espongo il mio problema...
    Allora io sto costruendo un mondo virtuale tipo: habbo non so se avete presente.
    Praticamente sto facendo un server dal quale avviare il mondo virtuale, far entrare gli utenti ecc...
    Vedendo un po' di mondi virtuali ho visto un comando che mi serviva ma a me non funziona.
    Allora io vorrei che attraverso un collegamento Winsock o qualche altro collegamento il server mi vado in un file ini. in quale c'è scritta la porta in cui deve fare ingresso... e su un TextBox mi appaia la seguente scritta
    codice:
    Server avviato nella porta: (e la porta che è scritta nel file ini.)
    Qualcuno mi può aiutare per favore?

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    3
    codice:
    Dim iSockets As Integer
    
    Private Sub Form_Load()
    Call bootUp
    End Sub
    
    Function bootUp()
    DB = App.Path & "\DB\"
    Me.Width = 8205
    Me.Height = 5340
    sckGame(0).LocalPort = ReadINI("server", "port", DB & "CONFIG\CONFIG.INI")
    sckGame(0).Listen
    txtData.Text = "- Server avviato nella porta: " & sckGame(0).LocalPort & vbNewLine
    End Function
    
    Private Sub sckGame_Close(Index As Integer)
    sckGame(Index).Close
    End Sub
    
    Private Sub sckGame_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    iSockets = iSockets + 1
    Load sckGame(iSockets)
    sckGame(iSockets).Accept requestID
    sckGame(iSockets).SendData "@@" & Chr(1)
    End Sub
    
    Private Sub sckGame_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    Dim strData As String
    sckGame(Index).GetData strData
    selectPacket strData, Index
    End Sub
    
    Private Sub txtData_Change()
    txtData.SelStart = Len(txtData.Text)
    End Sub
    Questo è tutto il codice...

    Però non va...

  4. #4
    "Non va" in che senso?
    Come hai definito la funzione ReadINI?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    3
    Ho fatto un module l'ho chiamato modINI.
    E ho inserito questo codice:
    codice:
    #If Win16 Then
     Declare Function WritePrivateProfileString Lib "Kernel" (ByVal AppName As String, ByVal keyname As String, ByVal NewString As String, ByVal FileName As String) As Integer
     Declare Function GetPrivateProfileString Lib "Kernel" Alias "GetPrivateProfilestring" (ByVal AppName As String, ByVal keyname As Any, ByVal default As String, ByVal ReturnedString As String, ByVal MAXSIZE As Integer, ByVal FileName As String) As Integer
     Declare Function ShellExecute Lib "shell.dll" (ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
    #Else
     Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
     Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Any, ByVal lpFileName As String) As Long
     Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    #End If
    
    Function ReadINI(ByVal section, keyname, FileNaam, Optional standard As String) As String
    Dim str As String
    str = String(100000, Chr(0))
    ReadINI = Left(str, GetPrivateProfileString(section, ByVal keyname, standard, str, Len(str), FileNaam))
    End Function
    
    Function WriteINI(ByVal sSection As String, ByVal sKeyName As String, ByVal sNewString As String, ByVal sFileNaam As String) As Integer
    WritePrivateProfileString sSection, sKeyName, sNewString, sFileNaam
    End Function
    
    Function writeData(newData As String)
    Home.txtData.Text = Home.txtData.Text & newData & vbNewLine
    End Function
    Quando vado a fare il debug il programma parte ma non mi scrive il testo sul TExtBox.

    Se qualcuno vuole contattarmi magari su msn o skype ecco le info:
    msn: play_boy3193@hotmail.it
    skype: antonino6821

    Rispondetemi perfavore!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da kyx93
    Se qualcuno vuole contattarmi magari su msn o skype ecco le info [...]
    Rispondetemi perfavore!
    Tutti i chiarimenti devono essere riportati nella discussione: il forum non è uno strumento per reclutare aiutanti, ma per porre pubblicamente quesiti la cui soluzione può essere utile all'intera comunità, e quindi anche il processo risolutivo con tutte le sue variabili deve essere pubblico.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.