Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   FTP Chat (https://www.delphipraxis.net/168714-ftp-chat.html)

scoby123 6. Jun 2012 09:17

FTP Chat
 
HI, Ja Ich weis ftp chats sind scheise und total unsicher aber das weis ich schon?:P

Bin auch vb noobi....

code1) PrivateNachricht

Code:
Public Class PrivateNachricht

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Name As String = Me.TextBox1.Text
        Dim Message As String = Me.TextBox2.Text

        Dim Messagestring As String = AktuelleZeit() & " - " & Name & ": " & Message
        My.Computer.FileSystem.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "/user_message/" & Name & "_upload.txt", Messagestring, False)
        My.Computer.Network.UploadFile(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "/user_message/" & Name & "_upload.txt", "ftp://192.168.1.50/user message/" & Name & ".txt", "test", "fuckyou36", False, 60000)
    End Sub

    Private Function AktuelleZeit()
        Dim AktuelleZeitString As String
        AktuelleZeitString = Now.Day & "." & Now.Month & "." & Now.Year & "." & Now.Hour & "." & Now.Second
        Return AktuelleZeitString
    End Function
End Class
Code2) Form1

Code:
Public Class Form1

    Private Property AktuelleZeitString As String

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim Chatroom As String = Me.TextBox1.Text
        Try
            My.Computer.Network.DownloadFile("ftp://192.168.1.50/" & Chatroom & ".txt", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\chat-ordner\" & Chatroom & ".txt", "test", "fuckyou36", False, 60000, True)
            Dim ChatProtokoll As String = My.Computer.FileSystem.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\chat-ordner\" & Chatroom & ".txt")
            Me.TextBoxProtokoll.Text = ChatProtokoll
        Catch
        End Try
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Chatroom As String = Me.TextBox1.Text
        Try
            Dim Nachricht As String = AktuelleZeit() & " _ " & Me.TextBoxName.Text & ": " & Me.TextBoxNachricht.Text
            Dim ChatProtokoll As String
            Try
                ChatProtokoll = My.Computer.FileSystem.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\chat-ordner\" & Chatroom & ".txt")
            Catch
                ChatProtokoll = ""
            End Try
            Dim UploadString As String = ChatProtokoll & vbNewLine & Nachricht
            My.Computer.FileSystem.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\chat-ordner\" & Chatroom & "_upload.txt", UploadString, False)
            My.Computer.Network.UploadFile(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\chat-ordner\" & Chatroom & "_upload.txt", "ftp://192.168.1.50/", "test", "fuckyou36")
        Catch
        End Try
    End Sub


    Private Function AktuelleZeit()
        Dim AktuelleZeitString As String
        AktuelleZeitString = Now.Day & "." & Now.Month & "." & Now.Year & "." & Now.Hour & "." & Now.Second
        Return AktuelleZeitString
    End Function

   

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Me.Button2.Text = "Beitreten" Then
            Me.Button2.Text = "Verlassen"
            Me.Button1.Enabled = True
            Me.Timer1.Enabled = True
            Me.TextBox1.Enabled = False
            Me.Timer2.Enabled = True
            'BETRETEN
        Else
            Me.Button2.Text = "Betreten"
            Me.Button1.Enabled = False
            Me.Timer1.Enabled = False
            Me.TextBox1.Enabled = True
            Me.Timer2.Enabled = False
            'VERLASSEN
        End If
    End Sub

    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        PrivateNachricht.Show()
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Dim Name As String = Me.TextBoxName.Text
        My.Computer.Network.DownloadFile("ftp://192.168.1.50/" & Name & ".txt", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "user_message/" & Name & ".txt", "test", "fuckyou36", False, 60000, True)
        Dim Message As String = My.Computer.FileSystem.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "user_message/" & Name & ".txt")
        Dim TMP() As String = Split(Message, " _ ")
        Dim AktuelleZeit As String = TMP(0)
        Dim TMP2() As String = Split(TMP(1), ": ")
        Dim AbsenderName As String = TMP2(0)
        Message = Message.Replace(AktuelleZeit & " - " & Name & ": ", "")

        My.Computer.FileSystem.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "user_message/" & Name & ".txt", "", False)
        My.Computer.Network.UploadFile(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "user_message/" & Name & ".txt", "ftp://192.168.1.50/user_message/" & Name & ".txt", "test", "fuckyou36", False, 60000)

        MsgBox("Sie Haben um " & AktuelleZeit & " eine neue Nachricht von " & Name & " erhalten:" & vbNewLine & Message, vbInformation, "Sie haben eine Nachricht erhalten")
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        PrivateNachricht.Show()
    End Sub
End Class

So das ist der code

Und wen ich dan auf chat beitreten gehe kommt der fehler X(

http://s14.directupload.net/file/d/2...5fl3l3_jpg.htm

plz kann mir jemand sagen was ich falsch mache? ?(
danke schon mal super super RR team :)


mfg ultr4

DeddyH 6. Jun 2012 09:27

AW: FTP Chat
 
Hallo und Willkommen in der DP :dp:,

Chat per FTP ist tatsächlich suboptimal, dafür ist das Protokoll ja nicht gedacht. Aber sei es drum: auch wenn es hier um Basic geht, steht es doch da, woran es hapern könnte. Du solltest überprüfen, ob die Liste auch wirklich genug Elemente enthält, bevor Du versuchst, darauf zuzugreifen.

[edit] Nachtrag: Du kannst Bilder auch direkt an Deinen Beitrag anhängen, dann bleiben Sie uns auch erhalten, was bei externen Diensten ja nicht gewährleistet ist. [/edit]

spaxxn 6. Jun 2012 09:45

AW: FTP Chat
 
VB ist da etwas "beschränkt" was Warnungen angeht.

Die Meldung soll wohl folgendes aussagen:

Listengröße: 10
min. ListenIndex: 0
max. ListenIndex: 9

scoby123 6. Jun 2012 09:59

AW: FTP Chat
 
Zitat:

Zitat von DeddyH (Beitrag 1169656)
Hallo und Willkommen in der DP :dp:,

Chat per FTP ist tatsächlich suboptimal, dafür ist das Protokoll ja nicht gedacht. Aber sei es drum: auch wenn es hier um Basic geht, steht es doch da, woran es hapern könnte. Du solltest überprüfen, ob die Liste auch wirklich genug Elemente enthält, bevor Du versuchst, darauf zuzugreifen.

[edit] Nachtrag: Du kannst Bilder auch direkt an Deinen Beitrag anhängen, dann bleiben Sie uns auch erhalten, was bei externen Diensten ja nicht gewährleistet ist. [/edit]

Hehe Danke schnelle hilfe im DP :p

ja hm was meinst du mit liste nicht genug elemente enthalten meinste die .txt datei ufn ftp server?

und was meint er hiermit^^

Die Meldung soll wohl folgendes aussagen:

Listengröße: 10
min. ListenIndex: 0
max. ListenIndex: 9

??

DeddyH 6. Jun 2012 10:10

AW: FTP Chat
 
Du teilst doch mit Split() einen String in seine Bestandteile auf. Dabei kommt dann eine Liste der Teilstrings heraus. Allerdings weißt Du nicht sicher, wie viele das dann sind. Daher knallt es, wenn Du auf einen Listenindex zugreifst, der kleiner als 0 oder größer als Anzahl der Elemente - 1 ist.

scoby123 6. Jun 2012 10:46

AW: FTP Chat
 
Zitat:

Zitat von DeddyH (Beitrag 1169665)
Du teilst doch mit Split() einen String in seine Bestandteile auf. Dabei kommt dann eine Liste der Teilstrings heraus. Allerdings weißt Du nicht sicher, wie viele das dann sind. Daher knallt es, wenn Du auf einen Listenindex zugreifst, der kleiner als 0 oder größer als Anzahl der Elemente - 1 ist.

kannst du mir das zeigen mein code zeil verbessern plz ich check dat nicht?

DeddyH 6. Jun 2012 10:54

AW: FTP Chat
 
Du erwartest ja mindestens 2 Zeilen in TMP. Dann überprüf doch einmal, ob auch 2 Zeilen da sind. IIRC gibt es doch die Length()-Funktion in .NET, die könnte man dazu verwenden.
Code:
if TMP.Length() < 2 then 'Fehler
Ob das in VB.NET syntaktisch so korrekt ist, weiß ich nicht, ich mache ja mehr Delphi ;)

scoby123 6. Jun 2012 11:12

AW: FTP Chat
 
hast du evl teamviwer und kannst mir helfen kann dir meine icq,skype geben wens ok is?:oops:

Phoenix 6. Jun 2012 11:26

AW: FTP Chat
 
Was ist so schwer daran zu verstehen?

Du baust die Message im Text zusammen mit " - " und ": " als Platzhalter.
Wenn jemand nun " - " oder ": " in seiner Message verwendet, dann Funktioniert Dein Code in Timer2_Tick nicht mehr zuverlässig, weil er mehr oder weniger Elemente erhält und dann ggf. das jeweilige Teilelement keine weiteren Elemente mehr erhält weil es das falsche ist.

Benutze lieber ein Zeichen als Trenner, das selten verwendet wird, wie z.B. µ (ist Alt-Gr + M).

spaxxn 6. Jun 2012 14:40

AW: FTP Chat
 
Weil Listen zu 99% 0-basierend sind.

Und ich denke, in einem VB/VB-Skipt Forum, wird dir mehr geholfen.

Wenn ich ehrlich sein soll: VB ist ne Krankheit, ich weiss nur noch nicht wie ansteckend...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 Uhr.
Seite 1 von 2  1 2      

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