Autor Beitrag
ObscurusNox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: So 04.08.02 13:12 
Du sitzt an einem Netzwerk, vielleicht in einer großen Firma, und dein Kumpel sitzt in einem anderen Gebäude. Was tun ???

Ich hatte dieses Problem schon einmal und hab daher folgendes Programm geschrieben. Die meisten Firmen-Netzwerke haben allgemein zugängliche Laufwerke, auf denen sogar Guests Schreibrechte haben und ein solches Laufwerk hab ich mir zu nutzen gemacht.

Das praktische ist, dass man die in riesigen Netzwerken ja multible IP-Adresse nicht benötigt. Man muss nur ein Verzeichnis angeben, in dem die Protokoll-Datei gespeichert wird.

Außerdem hat man nicht die Probleme mit der Definition von Servern und Clients, der Chat ist für so ziemlich beliebig viele User zugänglich. Das Programm wir noch nicht perfekt sein, aber ich habe es selbst drei Wochen lange bei Bo***-Bl*******-Hildesheim während meines Praktikums getestet und soweit funktioniert's eigentlich.

(Fehler bitte melden :!: )

DOWNLOADEN MIT "ZIEL SPEICHERN UNTER"

Programme downloaden: Pseudo-Chat.zip (279.261 Bytes)

Source downloaden: Source.zip (56.686 Bytes)

Viel Spaß damit !!!

(21.09.02 00:09 Tino) Screenshot entfernt. Datei war nicht mehr vorhanden.


Zuletzt bearbeitet von ObscurusNox am So 11.04.04 12:08, insgesamt 3-mal bearbeitet
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Mi 14.08.02 10:45 
Ist schon etwas besonderes, wenn im Internet eine Datei länger als 10 Tage überlebt :mrgreen:

Was ich damit sagen will ist einfach, dass beide Dateien plus Grafik nicht mehr das sind :wink:

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Mi 14.08.02 11:10 
Hi Arakis,

probiere es mal mit Ziel speichern unter, dann funktioniert es.
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Mi 14.08.02 11:21 
Na so was, geht ja doch :oops:

Trotzdem ist mir brinkster da nicht so ganz geheuer, normaler weise kann man ohne weiteres eine Datei anklicken und dann abspeichern(ohne Kontextmenü). Jetzt kommt beim nomalen Anklicken eine Fehlermeldung, vorhin kam aber gar nix.

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Fr 08.11.02 08:29 
Titel: Ich finds spitze!
Hallo,
habe dein Prog mal getestet. Vielleicht liegt es ja daran dass ich mit Delphi noch nicht sehr viel Erfahrung habe, aber ich finde es sehr gut!!!

Wenn du erlaubst würde ich gerne eine Frage zum Quellcode stellen, will ja schließlich auch ein wenig lernen.

Aus welchem Grund hast du das hier gemacht:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Button2Click(Sender: TObject);
var i : Integer;
begin
  FOR i := 1 TO 100 DO
    IF Beende THEN Break;
end;


Hätte da nicht einfach die IF-Anweisung gereicht, also ohne die FOR-Schleife? Oder hast du es als Zeitverzögerer oder so verwendet? Ich als Anfänger sehe darin leider keinen sinn.

Gruß Andi
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: Fr 08.11.02 09:41 
Hallo!

Natürlich beantworte ich deine Frage gerne.
Problem dabei: Ich habe dieses Programm vor fast einem Jahr geschrieben und weiß natürlich nicht mehr aus dem Kopf, was ich da gemacht habe. War auch noch ein sehr schlechter Stil, vom Quelltext, vonwegen Verständnisfähigkeit.

Wenn ich das gerade richtig gesehen habe, ist
ausblenden Quelltext
1:
procedure TForm1.Button2Click(Sender: TObject);					

die Function, die aufgerufen wird, wenn man auf "abmelden" klickt.
ausblenden Quelltext
1:
IF Beende THEN Break;					

"Beende" ist in diesem Fall keine Boolean-Variable, sondern eine Function, die eine Boolean-Wert zugewiesen kriegt. Guck dir die mal genauer an, vielleicht verstehst du was ich gemacht habe.

Wenn ich mich richtig erinnere hatte ich das Problem das auftritt, wenn zwei Programm gleichzeitig in die Datei schreiben. Also wenn ein Programm die Datei öffnet und reinschreibt, wenn der zweite noch beim schreiben ist, dann wird das, was der zweite geschrieben hat, ignoriert bzw. überschrieben.
Das Problem habe ich so gelöst, dass die Datei vor dem reinschreiben umbenannt wird, dadurch kann ein anderer nicht drauf zugreifen, wenn geschrieben wird.

Diese Schleife versucht jetzt 100 mal die Datei zu finden (wenn gerade in sie reingeschrieben wird, kann sie nicht gefunden werden!!!) und wenn es sie gefunden hat, wir hineingeschrieben, dass der Chat vom entsprechenden User verlassen wurde.

Ich hoffe, dass ich deine Frage damit einigermaßen beantworten konnte.
Du kannst mir natürlich gern weitere Fragen zu meinem Programm stellen,
MfG,

Markus.
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Fr 08.11.02 09:46 
Achso, ja verstehe!

Darauf wär ich glaub nicht gekommen. Um solche Fehler zu finden muss man aber wirklich gut testen.

Ich glaub du hast es wirklich drauf!

Also vielen Dank für die schnelle Antwort!

Gruss Andi
eddyp
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: So 01.12.02 22:38 
Diese chat - Geschichte ist echt ne gute Idee. Ich hab noch ein paar Zeilen dazugebastelt und nehme das ganze auch zum fernsteuern im Netz
so kan ich alle Computer im Netz wenn keiner mehr was macht abschalten oder die von allen natürlich nicht nicht gemachten Backups prüfen und automatisch nachholen. Hat mir sehr geholfen.

Nur in Button1Click nach dem Rewrite( Datei ) musste ich ein reset(datei) einfügen, sonst wurde die ganze Sache an manchen (nicht allen PC)extrem langsam (keine Ahnung warum!? (D6E, XPP))

_________________
Grüsse, eddyp
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: Mo 02.12.02 07:50 
Hm... also wenn ich das richtig verstanden haben:
In
ausblenden Quelltext
1:
procedure TForm1.Button1Click(Sender: TObject);					

läuft
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
Rewrite( Datei );
Reset( Datei );
Write( Datei, DsxDatei );
CloseFile( Datei );
Memo2.Clear;
...

schneller, als ohne das Rewrite( Datei ) ohne Reset ????

Das verstehe ich nun wirklich nicht.
Ich weiß, das ganze Ding ist kaum optimiert, aber warum XP damit ein Problem haben sollte weiß ich nicht.
Habe persönlich auch kein XP, mehr so ME.
Vielleicht kann's ja aber ein anderer User beantworten...!?!
MfG,

Markus.
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: Mo 02.12.02 20:32 
@eddyp:

Vielleicht könntest du auch einfach mal deine Quellcode hier posten (wenn du willst). Könnte unter Umständen auch für andere User interessant sein.
Nur 'n Vorschlag.
MfG,

Markus.
eddyp
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 58



BeitragVerfasst: Mo 02.12.02 22:09 
Ich habe nach 1,5 Jahren Telekom- Ignoranz jetzt DSL bekommen, das Haus verkabelt und wenn alles so läuft wie ich mal denke, kann mann dann downloaden.

@ObscurusNox
Aber emailen kann ich dir die geänderte Version gerne.

Mit dem Reset, das war nur Zufall, da das Prg. im Debugger normal lief und "live" genau dort bremste (aber nicht auf jedem PC), da versuchte ich es mit Reset.

_________________
Grüsse, eddyp
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Do 09.01.03 09:41 
Hallo,
hab inzwischen auch einiges am Chat geändert. Als erstes hab ich ihn aber umbenannt, die meisten Chefs sehen es nicht gerne wenn in der Taskleiste was mit "Chat" steht. Die bei uns angewendete Version nennt sich jetzt NT-Connect.

Außerdem hat jetzt jeder benutzer seine eigene Farbe und eine Art protokoll wird geführt. Dies ist aber nur für den Admin zugänglich.

Da bei uns sehr viele Scherzkekse arbeiten habe ich auch eingebaut dass man sich nur mit dem Namen einloggen kann mit dem man in Windows angemeldet ist. Als Admin hab ich mir aber ein paar kleine Hintertürchen offen gehalten.

Leider sieht der Quelltext jetzt aus wie sau, da er vorher schon sehr unübersichtlich war und ich mir beim einbauen der einzelnen Aktionen nicht wirklich viel Mühe gegeben habe.

Trotzdem passiert es immernoch sehr häufig dass der Chat sich aufhängt, hat gegen dieses Problem jemand ne lösung. Es ist immer der fall wenn 2 gleichzeitig schreiben.

Gruß Andi

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: Do 09.01.03 16:00 
Hätte ja nicht gedacht, dass sich wirklich jemand die Mühe macht durch den Quellcode durchzusteigen...ist wirklich ein ganz schönes Chaos.

Meine Vermutung für deine Problem:
Zum reinschreiben wird die Chat-Datei ja umbenannt, damit eben nicht zwei Leute gleichzeitig hineinschreiben können. Wenn jetzt ein anderer schreiben will und die Datei nicht da ist, dann versucht er eine gewisse Zeit die Datei zu finden. Das reinschreiben vom andern dauert normalerweise nicht lange, deswegen ist das kein Problem.

Vielleicht fängst du in der Richtung mal an zu suchen. Ich denke mal, dass sich bei dir das Programm aufhängt, dass als zweites versucht zu schreiben, also erst die Datei nicht finden kann, sucht und sich dann wohl in einer Endlosschleife verfängt, oder so.

Werde mal gucken, ob ich dafür in meinem Quelltext anzeichen finde.
MfG,

Markus.
Lhid
ontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 831



BeitragVerfasst: Sa 18.10.03 12:55 
Einstellung und mich grundlegend verändert-> alte beiträge gelöscht


Zuletzt bearbeitet von Lhid am Sa 26.09.09 14:54, insgesamt 1-mal bearbeitet
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: Sa 18.10.03 12:58 
Rechtsklick und "Ziel speichern unter..."!

Bei mir geht's.

PS: Ansonsten kannste mir auch per PM deine Mail-Adresse schicken und dann kriegste die Files per Mail.
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: So 19.10.03 18:19 
Hi,
gibt es zu dem Problem, dass er sich immer aufhängt wenn zwei gleichzeitig schreiben, inzwischen eine Lösung oder zumindest der genaue Grund dafür???

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: So 19.10.03 19:09 
Hab eigentlich nie versucht das zu beheben.
Aber eigentlich düfte das Problem folgendes sein:

Wenn ein User in die Datei schreibt ist sie ja umbenannt.
Der andere, der gleichzeitig schreiben will sucht die Datei.
Schätze diese Suchfunktion ist irgendeine Repeat-Until-Schleife und das gefällt Windows nicht. Man kann ja auch in Delphi kein Delay wie in Pascal verwenden, weil das bei Multitasking tödlich wäre. Schätze da liegt der Fehler.

Programmiere grad (naja, seit einem Jahr) an einem Netzwerktool, mit IP-Chat usw. Das dürfte etwas ausgereifter sein, als der Pseudo-Chat.
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: So 19.10.03 19:18 
Der Spaß ist ja schon etwas länger her.

Folgender Code wird bearbeitet, wenn die Datei nicht vorhanden ist:


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
    AssignFile( Datei, Dateiname );
    i := 0;
    REPEAT
      inc( i );
      {$I-}
      Reset( Datei );
      {$I+}
      IF IoResult <> 0 THEN
        W := Messagedlg( 'Datei nicht gefunden !!! Nochmal versuchen ???', mterror, [mbYes,mbNo], 0 );
    UNTIL (IoResult = 0) OR (i = 3) OR (W=mrNo);


Schätze der hat Probleme mit dem "AssignFile".
Versuchs doch an der Stelle mal mit folgendem (ist jetzt so aus dem Stehgreif und nicht getestet):
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var Bool : Boolean;

Bool := False;
repeat
  for i := 1 to 3 do
    begin
      if FilesExists( Datei ) then
        begin
          AssignFile( Datei, Dateiname );
          Reset( Datei );
          Bool := True;
        end;
    end;
  if not Bool then
    W := Messagedlg( 'Datei nicht gefunden !!! Nochmal versuchen ???', mterror, [mbYes,mbNo], 0 );
until Bool or (W=mrNo);
Solid Snake
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Mi 06.04.05 19:15 
hi
Dieser Thread ist zwar schon sehr alt aber eventuell hat ja jemand an dem Chat weiter gearbeitet oder sich mal intensiver damit beschäftigt!

Ich habe auch das Problem das der Chat hin und wieder abstürtzt!
Habe allerdings noch keine passende lösung dafür gefunden! :cry:

Ich hoffe ihr könnt mir da weiterhelfen! :)

mfg
Solid Snake

_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
ObscurusNox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 49



BeitragVerfasst: Mi 06.04.05 19:23 
Wenn ich mir das heute so angucke denke ich eigentlich, dass man das am Besten alles nochmal programmieren sollte ;-)
Ich hab mir damals ja nichtmal die Mühe gemacht, Buttons zu benennen...
Außerdem denke ich, dass das verwendete System mit dem Datei-Handling recht unoptimiert und fehlerhaft ist.