PowerBASIC FORUM - Kirschbaum Software GmbH UBB.threads™ copyright by Infopop Corporation.

Hier helfen sich PowerBASIC Programmierer gegenseitig ..... >> Nützlicher PowerBASIC Quellcode

Josef KirschbaumAdministrator
Moderator

Registriert: 15.12.2002
Beiträge: 342
Wohnort: Emmering
Spielereien mit dem EDITFELD
      19.01.2004 18:15

Eine Erläuterung zum folgenden Demoprogramm finden Sie im Forum hier. Über Anmerkungen und Vorschläge würde ich mich freuen.

Code:
'EDITFELD.BAS für PB/WIN 7.02
'Dieses kleine Programm zeigt einige einfache, aber nützliche
'Möglichkeiten in Verbindung mit Editfeldern (EDITBOX), welche in
'der PB/WIN Dokumentation nicht oder nicht leicht zu finden sind.
'Ohne Anspruch auf Vollständigkeit oder Fehlerfreiheit!!!!!
'Einfach zum Ausprobieren und als Anregung für weitere "Entdeckungen".
'
#COMPILE EXE
#DIM ALL
#INCLUDE "WIN32API.INC"

%IDCANCEL = 2
%IDD_DIALOG1 = 101
%IDC_TEXTBOX1 = 1001
%IDC_TEXTBOX2 = 1002
%IDC_BUTTON1 = 1003
%IDC_BUTTON2 = 1004
%IDC_BUTTON3 = 1005
%IDC_BUTTON4 = 1006
%IDC_BUTTON5 = 1007
%IDC_BUTTON6 = 1008
%IDC_BUTTON7 = 1009
%IDC_BUTTON8 = 1010
%IDC_BUTTON9 = 1011
%IDC_BUTTON10 = 1012
%IDC_BUTTON11 = 1013
%IDC_BUTTON12 = 1014
%IDC_BUTTON13 = 1015

%EDITMAX1=100000 'zum Ändern der maximalen Anzahl von Zeichen im Editfeld
%EDITMAX2=200000 'ACHTUNG: Unter Win98 maximal nur etwa 32.000 Zeichen möglich
'Der Versuch, diese Grenze zu überschreiten, kann zu unliebsamen
'Überraschungen führen !!!!!!

CALLBACK FUNCTION DlgProc()
STATIC cklick AS LONG
LOCAL txt AS STRING
LOCAL txt1 AS STRING
LOCAL Erg AS LONG
LOCAL CaretPos AS LONG
LOCAL ZeilenNr AS LONG
LOCAL Count1 AS LONG
LOCAL Count2 AS LONG
LOCAL Wert1 AS LONG
LOCAL Wert2 AS LONG
LOCAL hfont AS DWORD
STATIC hFontAlt AS DWORD

SELECT CASE AS LONG CBMSG

CASE %WM_INITDIALOG
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, _
"Dies ist das EDITFELD 2"+$CRLF+$CRLF+ _
REPEAT$(10,"Dieser Text wurde erst durch das Programm erzeugt!"+$CRLF _
+"Beide Editfelder erlauben zunächst nur etwa 30.000 Zeichen!"+$CRLF _
+"Unter Win XP kann man die max. Größe verändern (s. Schaltfläche)."+$CRLF)
CONTROL SET FOCUS CBHNDL, %IDC_TEXTBOX1
CONTROL SEND CBHNDL,%IDC_TEXTBOX1,%WM_GETFONT,0,0 TO hFontAlt
'erlaubt die spätere Wiederherstellung nach Änderung der Schrift
CASE %WM_COMMAND
SELECT CASE AS LONG CBCTL
CASE %IDC_TEXTBOX1
IF CBCTLMSG = %EN_CHANGE THEN
txt$=$CRLF+$CRLF+"Nachricht: %EN_CHANGE ==> EDITFELD 1 wurde geändert!"
CONTROL SEND CBHNDL,%IDC_TEXTBOX1,%EM_GETSEL,VARPTR(CaretPos),VARPTR(Wert2)
txt$=txt$+$CRLF+"Caret jetzt an"+STR$(CaretPos)+". Stelle ab Textbeginn"
CONTROL SEND CBHNDL,%IDC_TEXTBOX1,%EM_LINEFROMCHAR,CaretPos,0 TO ZeilenNr
txt$=txt$+$CRLF+"Caret in"+STR$(ZeilenNr)+". Zeile (beginnend ab 0)"
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %EM_LINEINDEX,ZeilenNr,0 TO Wert1
'CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %EM_LINEINDEX,-1,0 TO Wert1
'-1 für die aktuelle Caret-Pos. würde hier das gleiche Ergebnis bringen!
txt$=txt$+$CRLF+"Die Zeile"+STR$(ZeilenNr)+" beginnt an Pos."+STR$(Wert1)
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %EM_LINELENGTH,CaretPos,0 TO Wert2
txt$=txt$+", ist"+STR$(Wert2)+" Zeichen lang und lautet:"
txt1$=STRING$(Wert2," ")
CONTROL SEND CBHNDL,%IDC_TEXTBOX1,%EM_GETLINE,ZeilenNr,STRPTR(txt1$) TO Erg
'msgBOX str$(len(txt1$))+str$(Wert2)+str$(Erg)
'Der Rückgabewert Erg enthält die Anzahl der kopierten Zeichen
'Nur zur Kontrolle oder sollte es das Programm überprüfen ????
txt$=txt$+$CRLF+txt1$

CONTROL SEND CBHNDL, %IDC_TEXTBOX2, %WM_GETTEXTLENGTH, 0, 0 TO Erg
'stellt Anzahl der Zeichen in EDITFELD 2 fest
CONTROL SEND CBHNDL, %IDC_TEXTBOX2, %EM_SETSEL, Erg, Erg
'setzt Caret ans Ende des Textes
CONTROL SEND CBHNDL, %IDC_TEXTBOX2, %EM_REPLACESEL, 0, STRPTR(txt$)
'ersetzt markierten Text, d.h. hier Leerstring an der Position
'des Carets mit txt$. Es wird also Text am Ende angehängt
END IF

IF CBCTLMSG = %EN_VSCROLL THEN
txt$=$CRLF+SPACE$(cklick MOD 10)+ _
"EDITFELD 1: Pfeil angeklickt, etc. -- jedoch ACHTUNG! (s. Quelltext)"
INCR cklick
CONTROL SEND CBHNDL, %IDC_TEXTBOX2, %WM_GETTEXTLENGTH, 0, 0 TO Erg
CONTROL SEND CBHNDL, %IDC_TEXTBOX2, %EM_SETSEL, Erg, Erg
CONTROL SEND CBHNDL, %IDC_TEXTBOX2, %EM_REPLACESEL, 0, STRPTR(txt$)
'ACHTUNG: Reagiert nur auf Anklicken der Leisten-Pfeile, Mausrad, PgDn etc.,
'jedoch nicht auf das Verschieben durch Festhalten des Reglers, was hier
'demonstriert werden soll! Also so alleine kaum brauchbar!!
END IF

IF CBCTLMSG = %EN_ERRSPACE THEN 'wegen Windows 95/98
txt$="Das Programm kann nicht genügend Speicherplatz anfordern"
MSGBOX txt$
END IF

CASE %IDC_TEXTBOX2
IF CBCTLMSG = %EN_SETFOCUS THEN
txt$="Das EDITFELD 2 hat jetzt den Fokus"
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX1, txt$
END IF

IF CBCTLMSG = %EN_KILLFOCUS THEN
txt$="Das EDITFELD 2 hat den Fokus verloren"
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX1, txt$
END IF

IF CBCTLMSG = %EN_MAXTEXT THEN
txt$="Das maximale Fassungsvermögen im EDITFELD 2 ist erreicht"
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX1, txt$
END IF

CASE %IDC_BUTTON1
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
txt$="Info zum EDITFELD 1:"
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETLIMITTEXT,0,0 TO Erg
txt$=txt$+$CRLF+"Maximale Größe eingestellt auf"+STR$(Erg)+" Zeichen"
CONTROL GET TEXT CBHNDL, %IDC_TEXTBOX1 TO txt1$
Erg=LEN(txt1$)
txt$=txt$+$CRLF+"Aktueller Text ist insgesamt"+STR$(Erg)+" Zeichen lang"
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %EM_GETFIRSTVISIBLELINE,0,0 TO Erg
txt$=txt$+$CRLF+"Erste sichtbare Zeile im Feld ist die Zeile"+STR$(Erg)
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETLINECOUNT,0,0 TO Erg
txt$=txt$+$CRLF+STR$(Erg)+" Zeilen im Editfeld insgesamt"
txt$=txt$+$CRLF+" (Achtung: Erste Zeile wird immer als 0. Zeile gezählt!)
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETMARGINS,0,0 TO Erg
txt$=txt$+$CRLF+"Textränder: links"+STR$(Erg AND &HFFFF&)+" Pixel, "
txt$=txt$+"rechts"+STR$(Erg \ &H10000)+" Pixel"
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETMODIFY,0,0 TO Erg
txt$=txt$+$CRLF+"Das Editfeld wurde seit der letzten Info-Abfrage "
IF Erg THEN
txt$=txt$+"verändert!"
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_SETMODIFY,0,0
'MODIFY-Flag zurücksetzen!
ELSE
txt$=txt$+"NICHT verändert."
END IF

CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, txt$
END IF

CASE %IDC_BUTTON2
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL GET TEXT CBHNDL, %IDC_BUTTON2 TO txt$
IF txt$="SYSTEM Font" THEN
hfont=GetStockObject(%SYSTEM_FONT)
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %WM_SETFONT, hfont, 1
'späteres DESTROY hier nicht erforderlich, weil Systemschrift
CONTROL SET TEXT CBHNDL, %IDC_BUTTON2, "alte Schrift"
ELSE
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %WM_SETFONT, hFontAlt, 1
CONTROL SET TEXT CBHNDL, %IDC_BUTTON2, "SYSTEM Font"
END IF
END IF

CASE %IDC_BUTTON3
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL GET TEXT CBHNDL, %IDC_BUTTON3 TO txt$
IF txt$="FIXED Font" THEN
hfont=GetStockObject(%SYSTEM_FIXED_FONT)
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %WM_SETFONT, hfont, 1
CONTROL SET TEXT CBHNDL, %IDC_BUTTON3, "alte Schrift"
ELSE
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %WM_SETFONT, hFontAlt, 1
CONTROL SET TEXT CBHNDL, %IDC_BUTTON3, "FIXED Font"
END IF
END IF

CASE %IDC_BUTTON4
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETMARGINS,0,0 TO Erg
IF Erg THEN
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_SETMARGINS, _
%EC_LEFTMARGIN OR %EC_RIGHTMARGIN,0
ELSE
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_SETMARGINS, _
%EC_LEFTMARGIN OR %EC_RIGHTMARGIN,&H00200010
'd.h. Textrand links 16 Pixel, rechts 32 Pixel
END IF
END IF

CASE %IDC_BUTTON5
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_LIMITTEXT, %EDITMAX1, 0
CONTROL SEND CBHNDL, %IDC_TEXTBOX2,%EM_LIMITTEXT, %EDITMAX2, 0
'Achtung bei Windows 95/98 - nicht mehr als 30000 Zeichen
'(evtl. 32000 oder noch ein bischen mehr möglich, jedoch
'bringen höhere Werte unerwünsche Nebeneffekte)
txt$="Maximale Zeichenanzahl für beide Editfelder geändert:" _
+$CRLF+"EDITFELD 1 jetzt auf"+STR$(%EDITMAX1)+" Zeichen gesetzt!" _
+$CRLF+"EDITFELD 2 jetzt auf"+STR$(%EDITMAX2)+" Zeichen gesetzt!"
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETLIMITTEXT,0,0 TO Erg
IF Erg<>%EDITMAX1 THEN
txt$=txt$+$CRLF+"ACHTUNG !"
txt$=txt$+$CRLF+"EDITFELD 1 erlaubt jedoch nur"+STR$(Erg)+" Zeichen"
END IF
CONTROL SEND CBHNDL, %IDC_TEXTBOX2,%EM_GETLIMITTEXT,0,0 TO Erg
IF Erg<>%EDITMAX2 THEN
txt$=txt$+$CRLF+"ACHTUNG !"
txt$=txt$+$CRLF+"EDITFELD 2 erlaubt jedoch nur"+STR$(Erg)+" Zeichen"
END IF
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, txt$
END IF

CASE %IDC_BUTTON6
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL GET TEXT CBHNDL, %IDC_TEXTBOX2 TO txt$
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX1, txt$
END IF

CASE %IDC_BUTTON7
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_LINESCROLL,0,5
'benutzt man, um an eine bestimmte Stelle im Text zu positionieren
'andere Möglichkeit wäre:
'CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_SCROLL,%SB_LINEUP,0
'wobei: %SB_LINEDOWN scrollt eine Zeile abwärts
' %SB_LINEUP scrollt eine Zeile aufwärts
' %SB_PAGEDOWN scrollt eine Seite abwärts
' %SB_PAGEUP Scrollt eine Seite aufwärts
END IF

CASE %IDC_BUTTON8
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
txt$="Wenn das Editfeld 1 eine größere Anzahl von Zeilen enthält," _
+$CRLF+"so ist jetzt der Text ab der Mitte sichtbar!"
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETLINECOUNT,0,0 TO Count1
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETFIRSTVISIBLELINE,0,0 TO Count2
Count1=Count1/2 - Count2
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_LINESCROLL, 0, Count1
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETFIRSTVISIBLELINE,0,0 TO Erg
txt$=txt$+$CRLF+"Erste sichtbare Zeile ist jetzt die Zeile"+STR$(Erg)
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, txt$
END IF

CASE %IDC_BUTTON9
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL SEND CBHNDL, %IDC_BUTTON1, %BM_CLICK, 0, 0
CONTROL SEND CBHNDL, %IDC_BUTTON6, %BM_CLICK, 0, 0
CONTROL SEND CBHNDL, %IDC_BUTTON1, %BM_CLICK, 0, 0
CONTROL SEND CBHNDL, %IDC_BUTTON6, %BM_CLICK, 0, 0
CONTROL GET TEXT CBHNDL, %IDC_TEXTBOX1 TO txt1$
Count1=LEN(txt1$)/3
Count2=Count1*2
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %EM_SETSEL, Count1, Count2
txt$="Markiert wurde das mittlere Drittel im Editfeld 1"+$CRLF _
+"Drücken Sie jetzt die Schaltfläche AUSSCHNEIDEN"
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, txt$
CONTROL SET FOCUS CBHNDL, %IDC_TEXTBOX1
END IF

CASE %IDC_BUTTON10
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
txt$=""
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %EM_REPLACESEL, Wert1, STRPTR(txt$)
'Wert1 = 1, wenn Operation rückgängig gemacht werden kann
CONTROL SET FOCUS CBHNDL, %IDC_TEXTBOX1
END IF

CASE %IDC_BUTTON11
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL SEND CBHNDL, %IDC_BUTTON9, %BM_CLICK, 0, 0
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_GETSEL, VARPTR(Wert1), VARPTR(Wert2)
txt$=STRING$(Wert2-Wert1,"*")
CONTROL SEND CBHNDL, %IDC_TEXTBOX1, %EM_REPLACESEL, Wert1, STRPTR(txt$)
CONTROL SET FOCUS CBHNDL, %IDC_TEXTBOX1
END IF

CASE %IDC_BUTTON12
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_CANUNDO,0,0 TO erg
IF erg THEN
CONTROL SEND CBHNDL, %IDC_TEXTBOX1,%EM_UNDO,0,0 TO erg
IF erg THEN
txt$="EDIDFELD 1: Der letzte Vorgang wurde rückgängig gemacht!"
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, txt$
ELSE
txt$="Im Editfeld 1 war der UNDO-Versuch nicht erfolgreich"
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, txt$
END IF
ELSE
txt$="Im Editfeld 1 kann z.Zt. keine Operation rückgängig gemacht werden." _
+$CRLF+"Drücken Sie zum Test zuerst die Schaltfläche ""Text Ersetzen""." _
+$CRLF+"Auch Aktionen mit der Zwischenablage eignen sich gut für UNDO."
CONTROL SET TEXT CBHNDL, %IDC_TEXTBOX2, txt$
END IF
END IF

CASE %IDC_BUTTON13
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
CONTROL GET TEXT CBHNDL, %IDC_BUTTON13 TO txt$
IF txt$="DISABLE 2" THEN
CONTROL DISABLE CBHNDL, %IDC_TEXTBOX2
CONTROL SET TEXT CBHNDL, %IDC_BUTTON13, "ENABLE 2"
ELSE
CONTROL ENABLE CBHNDL, %IDC_TEXTBOX2
CONTROL SET TEXT CBHNDL, %IDC_BUTTON13, "DISABLE 2"
END IF
END IF

CASE %IDCANCEL
IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
DIALOG END CBHNDL, 0 ' Beendet das Programm !
END IF

END SELECT
FUNCTION = 1 'für alle %WM_COMMAND-Nachrichten empfohlen
END SELECT
END FUNCTION

FUNCTION PBMAIN() AS LONG
LOCAL hDlg AS DWORD

DIALOG NEW %HWND_DESKTOP, "Spielereien mit dem EDITFELD", , , 467, 265, _
%WS_POPUP OR %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR %WS_CLIPSIBLINGS OR _
%WS_VISIBLE OR %DS_MODALFRAME OR %DS_3DLOOK OR %DS_NOFAILCREATE OR %DS_SETFONT, _
%WS_EX_WINDOWEDGE OR %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR _
%WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR, TO hDlg
CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX1, _
"Dies ist das EDITFELD 1 mit rechtsbündigem Text"+$CRLF+$CRLF+ _
"Der in diesem Editfeld vorgegebene Text wurde durch " + _
"den DDT-Befehl CONTROL ADD TEXTBOX erzeugt!"+$CRLF+ _
"Bitte schreiben Sie jetzt in diesem Editfeld einige Zeichen .....", _
5, 5, 365, 110, _
%ES_MULTILINE OR %WS_VSCROLL OR %ES_WANTRETURN OR %ES_RIGHT OR %WS_TABSTOP
CONTROL ADD TEXTBOX, hDlg, %IDC_TEXTBOX2, "", 5, 124, 365, 110, _
%ES_MULTILINE OR %WS_VSCROLL OR %ES_WANTRETURN OR %WS_TABSTOP

CONTROL ADD BUTTON, hDlg, %IDC_BUTTON1, "INFO zu 1", 380, 5, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON2, "SYSTEM Font", 380, 23, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON3, "FIXED Font", 380, 41, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON4, "Textränder", 380, 59, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON5, "Maximum ändern", 380, 77, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON6, "COPY 2 => 1", 380, 94, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON7, "5 Zeilen scrollen", 380, 112, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON8, "Sprung zur Mitte", 380, 130, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON9, "Text Markieren", 380, 148, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON10,"AUSSCHNEIDEN", 380, 166, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON11,"Text Ersetzen", 380, 184, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON12,"UNDO", 380, 202, 80, 14
CONTROL ADD BUTTON, hDlg, %IDC_BUTTON13,"DISABLE 2", 380, 220, 80, 14
CONTROL ADD BUTTON, hDlg, %IDCANCEL, "ENDE", 380, 244, 80, 14

DIALOG SHOW MODAL hDlg CALL DlgProc

END FUNCTION




Extras: Beitrag drucken   Auf den Merkzettel     Moderator benachrichtigen

Ganzes Thema
Betreff Erstellt von Erstellt am
* Spielereien mit dem EDITFELD Josef KirschbaumAdministrator 19.01.2004 18:15

Statistiken
2 registrierte Benutzer und 5 Besucher in diesem Forum.

Moderator:  Josef Kirschbaum 



Rechte
      Sie können keine neuen Themen erstellen
      Sie können keine neuen Antworten erstellen
      HTML ist deaktiviert
      UBBCode ist aktiviert

Bewertung:
Thema gelesen: 4480

Bewerten Sie dieses Thema
Sprung zu

Kontaktformular | Datenschutzerklärung zur PowerBASIC Startseite



UBB.threads™ 6.2.1