WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   CMD/BAT-Intranet Chat (http://www.wcm.at/forum/showthread.php?t=228264)

charli007 04.05.2008 13:14

CMD/BAT-Intranet Chat
 
hallo:hallo:,
wie ihr am titel schon erkennen könnt, handelt es sich hier um einen bat-chat, den ich für meine schule geschrieben habe, um uns auch im Unterricht zu unterhalten. Ich bin sehr stolz auf den CHat:cool:. ich zeig euch kurz ma den quellcode:

Code:

@echo off
title ChAt
:color
color 1a

:einloggen
set /p uname=Benutzernamen angeben:
if %uname%==Admin (goto end)
if %uname%==admin (goto end)
if %uname%==Administrator (goto end)
if %uname%==administrator (goto end)

:start
echo  Neuer Benutzer beigetreten %uname% (%username%), um %time% >> "Pfad\text.txt"
cls

:anfang
cls
type "Pfad\text.txt"
echo.
set /p chat=Chat:
if "%chat%" == "relog" (goto einloggen) else (goto weiter)

:weiter
if "%chat%" == "q" (goto verlassen) else (goto weiter0)

:weiter0
if "%chat%" == "clear" (goto delete) else (goto weiter1)

:weiter1
if "%chat%" == "help" (goto hilfe) else (goto weiter3)


:weiter2
cls
echo %uname%: %chat% >>"Pfad\text.txt"
goto anfang

:end
set /p pw=Passworteingabe:
if not %pw%==12234 (exit) else (goto 1)

:1
if not %username%==Martin[bzw Benutzername] (exit) else (goto start)
goto start

:delete
if not %uname%==admin (goto anfang) else (goto del)
:del
del "Pfad\text.txt"
echo                            CHAT >>"Pfad\text.txt"
echo. >>"Pfad\text.txt"
echo Chat wurde Neu gestartet um %time%, am %date%>>"Pfad\text.txt"
echo Fuer Hilfe: "help">>"Pfad\text.txt"
pause >nul
goto anfang

:hilfe
echo.
echo.
echo Dies ist ein Chat, um eine Nachricht zu senden,
echo schreiben sie was und druecken sie anschliesend die Taste "Enter"...
echo.
echo um dem Benutzernamen zu wechseln, druecken Sie "relog".
echo.
echo Wenn Sie als Admin angemeldet sind koennen Sie den Befehl "clear"
echo wirken um den Inhalt des CHATs zu loeschen.
echo.
echo Wenn Sie die anderen wissen lassen wollen, das sie nicht mehr da sind,
echo drücken sie bitte "q" = quit
echo.
echo Druecken Sie "hilfe", kommt diese Text datei.
type Chat-Help.txt
pause >nul
del Chat-Help.txt
goto anfang

:verlassen
echo  Benutzer %uname% (%username%) hat den Chat um %time% verlassen >> "Pfad\text.txt"
pause >nul
exit

jetzt mein problem: es haut alles hin, bis auf eins, man gibt was ein und drückt enter, wenn man jetzt enter gedrückt hält, schreibts die ganze zeit dasselbe in den chat... und gibt leute die spammen die ganze zeit(ich hasse das!). Wie kann ich das umgehen??

achtauge 05.05.2008 23:38

hallo charli007,

schaut für mich nach einem typischen Initialisierungsproblem aus.

Ich empfehle folgende Erweiterung:

Code:

......
:anfang
cls
type "Pfad\text.txt"
echo.
rem Zusätzliche Zeile 1
set chat=.
rem Weiter mit Original
 
set /p chat=Chat:
 
rem Zusätzliche Zeile 2
if "%chat%" == "." (goto anfang)
rem Weiter mit Original
 
if "%chat%" == "relog" (goto einloggen) else (goto weiter)
......

LG
achtauge

charli007 06.05.2008 17:32

danke achtauge, hat mir sehr geholfen!
lf Charli007

M@ik 29.08.2008 09:06

HI!

Also der chat ansich ist ja ma cool...ich bin nämlich in einer Laptop-Klasseund da wird das bestimmt richtig cool;-)
So..nur habe ich jetzt ein kleines Prob. und zwar:

Ich habe mir das alles schön kopiert. Die Erweiterung habe ich auch anstelle des alten eingefügt und als "chat.bat" abgespeichert. Wenn ich es jetzt öffne, dann kommt auch so schickes Fenster wo steht "Benutzername eingeben:"
So wenn ich jetzt was eingebe, dann kommt eine Fehlermeldung.

Was mache ich denn da falsch. Muss das jeder haben mit dem ich chatten will? Und wie funzt das dann? Könnte mir das vll mal einer genau erklären, was ich machen muss?

gruß M@ik

achtauge 29.08.2008 21:50

Hallo Maik,

welche Fehlermeldung?

Hast Du die Pfadangabe angepaßt?

LG
achtauge

M@ik 30.08.2008 14:15

Die Fehlermeldung heißt: "Das System kann den angegebenen Pfad nicht finden"

Öhm...wie passt man denn die Pfadangaben an???

achtauge 31.08.2008 19:06

Im Quellcode ist mehrfach der Platzhalter "Pfad" enthalten. Damit ist natürlich eine Angabe für Laufwerksbuchstabe und Unterverzeichnis gemeint. Beispiel: "H:\TestDIR". Abhängig von den zur Verfügung stehenden Laufwerken ist eben der passende Buchstabe und ein bereits existierendes Unterverzeichnis anzugeben.

Vielleicht solltest Dich in einer Laptopklasse mal intensiv mit den Windows-Grundlagen auseinandersetzen? ;-)

achtauge


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag