BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Projekte (http://www.black-board.net/board.php?boardid=108)
--- VB BB Thread Catcher (http://www.black-board.net/thread.php?threadid=20913)


Geschrieben von HeaD am 10.08.2005 um 20:04:

  BB Thread Catcher

Das Programm zeigt im Moment, die letzten 20 Beiträge der letzten 24 Stunden des Blackboards an.

Das Grundprogramm:
Mit einem Klick auf "Update" wird die Liste aktualisiert. Aus Floodschutzgründen ist das nur alle 60 Sekunden möglich. Der Button wird solange inaktiv und nach 60 sek wieder verfügbar.
Mit einem Klick auf Config könnt Ihr Einstellungen vornehmen. Auf Exit logischerweise beenden.

Die Konfiguration:
Im Moment ist nur die Auswahl der Skins möglich, nichts weiter.

Die Skins:
Im Ordner Skins könnt Ihr Skins selbst erstellen. Dazu legt Ihr einfach ein Verzeichnis an und schreibt eine HTML Datei. Diese Datei muß die Endung .htm oder .html haben. Findet das Programm sie so vor, wird sie als Skin erkannt.
Der Skin namens "Simpel" ist ein kleiner Skin, wo ihr sehen könnt, welche Variablen möglich sind (auch mehrmals einsetzbar)

Findet das Programm eine "smilies.txt" Datei vor, so wird diese auch eingelesen.

In smilies.txt muß immer erst der zu ersetzene Text stehen und in der nächsten Zeile die Grafik. Ihr könnt dazwischen soviel Leerzeilen lassen wie ihr wollt, aber im Moment MUSS die Datei so aussehen, sonst bringt Ihr Euren Skin durcheinander. Beispiel:
:D
smilies/biggrin.gif

Im Ordner des aktuellen Skins wird immer eine Temporäre Datei namens "_temp_catch.htm" erstellt. Diese wird nur bei ordnungsgemäßem verlassen des Programms gelöscht, darf aber jederzeit von Hand gelöscht werden.

Geplant:
Später soll noch eine automatische Abfrage mit rein. So kann man das Programm in den Tray schmeissen und es gibt bescheid, wenn neue Beiträge vorhanden sind. Daran arbeite ich im Moment. Desweiteren kann es später bescheid geben, wenn bestimmte Schlüsselwörter in einem Beitrag erscheinen oder der eigene Nickname...

Das ganze basiert noch auf der IE Engine, wird aber auch noch geändert, allerdings erst zum schluss, da ich noch nich sicher bin ob ich es über eine Mozillaengine mache. Das MozillaPlugin will leider nicht so ganz 100 %ig.

Das Programm wird niemals ermöglichen sich einzuloggen oder Beiträge zu schreiben!!!

Bugs:
Der einzig mir Bekannte, ist momentan, daß manche Sonderzeichen in der Listbox nicht korrekt angezeigt werden (obwohl es die selbe Variable ist wie in der Threadansicht).. Naja und wenn man die TAB Taste drückt landet man nicht da wo man es erwartet, aber das ist kein wirklicher Bug, ich hatte nur noch keine Lust die Reihenfolgen zu ändern, weil ich ständig die Anordnungen geändert hab :D

Weitere Bugs bitte melden.. danke :)

Das Programm benötigt die VB Runtime 6... Falls es noch etwas braucht, bitte sofort bescheid sagen!
Download

Ich weiß nicht ob das Programm überhaupt mal jemand nutzen wird, aber grade heute habe ich wieder ein sehr schönes und passendes Sprichwort in Futurama gehört (ausgerechnet :P) "Nicht die Zielgruppe ist wichtig, sondern das Ziel" .. Ich habe bisher ne Menge neues gelernt und somit wird die Arbeit nicht umsonst sein =)



Geschrieben von daisuke am 10.08.2005 um 21:06:

Daumen hoch!

Moin!
Habs mir gerade kurz angeschaut,gefällt mir auf den ersten Blick super!
Nur die Buttons (also update,exit und config) werden bei mir nicht richtig angezeigt,die hälfte des Feldes ist weiß. Ich würde sie dann vielleicht noch mit nem mouseover belegen...
Was auch cool wäre wenn man noch andere boards mit einbinden könnte, also wie sonne "boardzentrale".
Ansonsten scheint das prog sauber gecodet zu sein,bin gespannt was du noch draus machst!

mfg



Geschrieben von Milchbubi am 10.08.2005 um 21:08:

 

mal für die dummen
was ist das,
und was bringt mir das ??

mfg Pl4y3r



Geschrieben von HeaD am 10.08.2005 um 21:10:

 

Danke fröhlich
Ja, die Buttons sind im Moment nur Images, weil die Toolleiste und WinXP Probleme machen kann. So passiert es nach ein paar klicks, das immer Division durch 0 angezeigt wird (auf der microsoftseite ein bekanntes Problem) das wird noch anders. Warum die nun bei Dir nur halb und weis zu sehen sind weiß ich nicht ganz... verwirrt

Das mit den mehreren Boards habe ich auch schon überlegt.
Weiß nur noch nicht ob ich da ne Genehmigung brauch oder nicht. Eigendlich ist es nichts anders als wie ein klick auf den RSS News.

Mal schauen, erstmal muß es fürs BB fertig werden großes Grinsen

Naja und das mit dem sauber gecodet, es ist noch viel Müll zwischen, den ich noch ausbessern muß Augenzwinkern

Zitat:
Original von Pl4y3r
mal für die dummen
was ist das,
und was bringt mir das ??


Nun, wie gesagt, einfach nur eine Spielerei. Du kannst das Prog später im Tray lassen und Dir bescheid geben lassen wenn neue Nachrichten da sind. Direkt dort lesen und zum beantworten direkt mittels Button zum Beitrag kommen. Ursprünglich war es nur ein Tool was ich für mich machen wollte, wenn ich z.B. dringend auf ne Antwort warte oder sowas (kann ja mal vorkommen Zunge raus ), deswegen habe ich oben den Satz mit der Zielgruppe und dem Ziel geschrieben ^^ Und was das ist, das steht oben in der Projektbeschreibung ...



Geschrieben von Nightwolf am 10.08.2005 um 21:44:

 

Ich kann mit sowas zwar nichts anfangen, finde es aber dennoch super, was du da programmiert hast. Was mir nicht gefällt ist, dass sich die Browserfenster beim resizen nicht anpassen.



Geschrieben von HeaD am 10.08.2005 um 22:09:

 

Zitat:
Original von Nightwolf
Was mir nicht gefällt ist, dass sich die Browserfenster beim resizen nicht anpassen.


Mir auch nicht, ich such auch noch nach einer möglichst einfachen Lösung. Alles was ich bisher fand war enorm umständlich und mit ActiveX und son Quatsch. Ich bezweifel mal das ich ActiveX für sowas brauch rofl.



Geschrieben von Nightwolf am 10.08.2005 um 22:21:

 

Zitat:
Original von HeaD
Zitat:
Original von Nightwolf
Was mir nicht gefällt ist, dass sich die Browserfenster beim resizen nicht anpassen.


Mir auch nicht, ich such auch noch nach einer möglichst einfachen Lösung. Alles was ich bisher fand war enorm umständlich und mit ActiveX und son Quatsch. Ich bezweifel mal das ich ActiveX für sowas brauch rofl.


Du könntest das Resizen auch einfach deaktivieren Augenzwinkern



Geschrieben von daisuke am 12.08.2005 um 22:34:

 

Moin.
Könntest du mir erklären wie das programm zu dem server connectet?
Nicht mit nem winsoc,oder?
Wäre echt nett,ich suche nämlich nach Alternativen zu winsoc...

cu



Geschrieben von phlox81 am 12.08.2005 um 22:37:

 

Unter Windows wird es wohl WinSock sein, da das der Socket unter Windows ist...
Das Programm ist ja in VB geschrieben, wozu sollte er kein WinSock benutzen ???



Geschrieben von daisuke am 12.08.2005 um 22:50:

 

Winsoc macht nicht immer das was ich möchte,z.B. funktioniert bei mir das event Winsock_close() nicht...ich dachte es würde vielleicht eine Alternative geben.
Aber das gehört ja eigentlich gar nicht hier hin!



Geschrieben von HeaD am 13.08.2005 um 00:19:

 

Also ich brauch dafür nicht unbedingt Winsocket, weil ich ja nur ein Dokument auslesen möchte und nicht irgendwo etwas hinsende. Dazu habe ich die "wininet.dll" benutzt.

Ich kann Dir gerne mal das Modul posten, aus dem ich mir das ganze "abgeguckt" habe:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
Attribute VB_Name = "GetUrl"

Option Explicit

Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Public Const IF_FROM_CACHE = &H1000000
Public Const IF_MAKE_PERSISTENT = &H2000000
Public Const IF_NO_CACHE_WRITE = &H4000000       
Private Const BUFFER_LEN = 256

Public Function GetUrlSource(sURL As String) As String
    Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
    Dim hInternet As Long, hSession As Long, lReturn As Long

    hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
    If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
    If hInternet Then
        iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
        sData = sBuffer
        Do While lReturn <> 0
            iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
            sData = sData + Mid(sBuffer, 1, lReturn)
        Loop
    End If

    iResult = InternetCloseHandle(hInternet)

    GetUrlSource = sData
End Function


Du kannst die Funktion dann mittels "string = GetUrlSource(url)" aufrufen und hast dann den Quellcode der Seite. Ich weiß nicht was Du mit WinSocket vorhast, aber in meinem Fall wäre es unnötig.

Wenn Du es wirklich benötigst, schau mal hier unter Internet/Netzwerk.


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH