Autoit Datei, die sich selbst verschickt?

02/08/2012 19:35 Skatefreaky#1
Hey Leute,

also vorab erstmal die Situation. In unserem Informatik Kurs haben wir eine Aufgabe bekommen. Die Aufgabe lautet : Schreibe ein Programm in der Programmiersprache deiner Wahl, welches das Schulnetzwerk mit einbezieht.
Eine andere Gruppe macht beispielsweise einen kleinen Messenger der über das Schulnetzwerk läuft. Eine weitere hat ein Bilderprogramm erstellt, wo Schüler auf jedem PC in der Schule Bilder hoch und runterladen können.

Jetzt hab ich mir überlegt, ob ich nicht ein Programm erstelle, womit man Dateien auf jeden PC in der Schule von einem PC aus verschicken kann. Natürlich über das Schulnetzwerk und das ganze auch noch in Autoit. Puh... Jetzt hab ich natürlich keine Ahnung wie ich das anstellen soll :D.

Weiß vielleicht einer von euch, wie man das mit Autoit eventuell anstellen könnte? Und ob das überhaupt möglich wäre? Vielen Dank für Antworten :)
02/08/2012 20:31 jacky919#2
Hoffentlich bezeichnet euer Lehrer auch Skriptsprachen als Programmiersprachen...

Naja, du könntest mit FileOpen eine Datei öffnen, die Datei einlesen, über TCP/UDP versenden und dann wieder in eine Datei schreiben:
Code:
$hFileOpen = FileOpen("bild.jpg",16)
$Data = FileRead($hFileOpen)
FileClose($hFileOpen)

;$Data irgendwie versenden

$hFileNew = FileOpen("neubild.jpg",26)
FileWrite($hFileNew, $Data)
FileClose($hFileOpen)
Das Programm würde eine exakte Kopie von "bild.jpg" erstellen.
02/08/2012 20:34 butter123#3
wir sind nciht da um dir deine hausaufgaben zu machen... wir helfen bei problemen, programmieren musst du aber schon selber.

und ja es sit mit autoit möglich

guck dir dazu mal die tcp funktionen an
02/08/2012 20:35 xShizoidx#4
Natürlich ist dies möglich. Ich habe es damals mit TCP gemacht, aber habe nun das Skript nicht mehr und mich auch lange nicht mehr mit TCP beschäftigt, daher kann ich dir bei deiner Angelegenheit auch nur bedingt helfen.
Ansonsten könntest du es auch über einen FTP Server laufen lassen. Du lädst Dateien mit einem Uploaderprogramm auf deinen FTP Server. Vorher müssen die anderen Pc´s einen Reader auf dem PC haben, welcher ständig die Dateien, welche sich auf den FTP Server befinden auflistet. Falls dort eine neue Datei drauf ist, laden sie die Datei herunter und anhand der Dateiendung kannst du im Reader dann bestimmen, was danach damit gemacht wird.
Mit Tcp läuft das Ganze aber natürlich viel schneller, aber ich finde es mit dem FTP Server für mich einfacher, da ich mich damit länger beschäftigt habe.

Mit freundlichen Grüßen,

Netterwurm8
02/08/2012 20:40 jacky919#5
Quote:
Originally Posted by netterwurm8 View Post
Natürlich ist dies möglich. Ich habe es damals mit TCP gemacht, aber habe nun das Skript nicht mehr und mich auch lange nicht mehr mit TCP beschäftigt, daher kann ich dir bei deiner Angelegenheit auch nur bedingt helfen.
Ansonsten könntest du es auch über einen FTP Server laufen lassen. Du lädst Dateien mit einem Uploaderprogramm auf deinen FTP Server. Vorher müssen die anderen Pc´s einen Reader auf dem PC haben, welcher ständig die Dateien, welche sich auf den FTP Server befinden auflistet. Falls dort eine neue Datei drauf ist, laden sie die Datei herunter und anhand der Dateiendung kannst du im Reader dann bestimmen, was danach damit gemacht wird.
Mit Tcp läuft das Ganze aber natürlich viel schneller, aber ich finde es mit dem FTP Server für mich einfacher, da ich mich damit länger beschäftigt habe.

Mit freundlichen Grüßen,

Netterwurm8
Das würde dann vermutlich die Aufgabe des Lehrers verfehlen...
02/08/2012 20:48 xShizoidx#6
@jacky919 : Ja, da hast du recht, aber man könnte den Lehrer ja mal nett fragen.

Übrigens ist die Idee mit den Dateien versenden an andere Pc´s und, dass sie sich die Dateien dann anschauen können viel zu langweilig und überhaupt nicht komplex und da ich nicht weiß wie dein Lehrer im Allgemeinen solche Arbeiten bewertet, kann ich dir auch nicht sagen, ob dieses kleine Programm ausreichen würde.
Ansonsten würde ich dir empfehlen, eine kleine Shoutbox,also ein Chat zu erstellen, wobei
alle miteinander schreiben können mit Smileys,Zeit und Datumanzeige, evtl. noch Daten versenden, evtl. flüstern, ....
Dazu müsste aber jeder Schulpc die Datei fürs Chatten auf dem Pc haben, was deinen Lehrer aber bestimmt nicht stören würde, da es ja trotzdem das Schulnetzwerk mit einbezieht.
Im deutschen Autoit Forum gibt es auch ein Skript für solch einen Chat, welchen man dann aber noch verbessern müsste.

Mit freundlichen Grüßen,

Netterwurm8
02/08/2012 21:42 lolkop#7
Quote:
Originally Posted by Skatefreaky View Post
Schreibe ein Programm in der Programmiersprache deiner Wahl, welches das Schulnetzwerk mit einbezieht.
wenn du hier mit autoit arbeitest, wird das ganze wohl mit einem thema verfehlt enden.

wenn jemand von dir einen beliebigen kuchen gebacken haben will, und du einen schweinebraten ablieferst, wirste damit nicht wirklich punkten können...
02/08/2012 21:57 Freddy​#8
Dafür müssten wir wissen, wie die Computer in eurer Schule verbunden sind. Bei mir in der Schule ist es so, dass alle Computer an einen Server angeschlossen sind. Aber nur wenn man als "Lehrer" angemeldet ist kann man Datei auf den Server legen. Wie ist es bei euch?
02/09/2012 14:05 Skatefreaky#9
Also danke erstmal für die vielen Antworten.
@butter123 Ihr sollt nicht meine "Hausaufgaben machen", ich wollte lediglich wissen, ob es funktionieren kann und ob ihr mich etwas unterstützen könnt, denn dafür ist dieses Forum da (?).

@lolkop Ich hab meinen Lehrer gefragt und er findet es in Ordnung, dass ich mit Autoit arbeite.

Also ich habe mich jetzt mit meinem Lehrer beraten und er sagte, dass es vielleicht ein besserer Vorschlag wäre, den FTP Server der Schule zu benutzen. Das heißt, dass ein Ordner durch mein Programm hochgeladen wird und alle PC's ihn dann downloaden können. Habe auch schon eine Ahnung wie ich das anstellen könnte, bin mir nur nicht sicher ob ich das mit einem ganzen Ordner machen kann. Also mit einer Datei sicherlich aber einem Ordner. Geht das?

Achso und @Snivel Ja ich glaube das ist bei uns auch nicht anders...
02/09/2012 21:59 bollen#10
mit der Funktion
Code:
_FTP_DirCreate($l_FTPSession, $s_Remote)
kannst du einen Ordner auf dem FTP Server erstellen in den du dann mit
Code:
_FTP_FilePut($l_FTPSession, $s_LocalFile, $s_RemoteFile [, $l_Flags = 0 [, $l_Context = 0]])
die einzelnen Dateien schreiben kannst
ich hoffe ich konnte helfen
02/09/2012 22:09 Lawliet#11
Mit TCP sollte das doch ziemlich einfach sein.
$h = Fileopen(Fileopendialog(..:), 16)
$bFile = Fileread($h)
TcpSend(..., $bFile)

So sollte in etwa das Chema sein.


Auf der anderen Seite halt ein TCPRecv() und ein Filewrite(..,$bFile).

Mim FTP isses halt dann so, dass jeder die Rechte des Programms hat.
02/10/2012 14:57 jacky919#12
Quote:
Originally Posted by Lawliet! View Post
Mit TCP sollte das doch ziemlich einfach sein.
$h = Fileopen(Fileopendialog(..:), 16)
$bFile = Fileread($h)
TcpSend(..., $bFile)

So sollte in etwa das Chema sein.


Auf der anderen Seite halt ein TCPRecv() und ein Filewrite(..,$bFile).

Mim FTP isses halt dann so, dass jeder die Rechte des Programms hat.
Wenn du FileOpen nutzt, solltest du auch FileClose benutzen.
02/10/2012 18:29 TimeTooChill#13
mit dem ftp ist es halt wieder die Sache das die Daten geschützt werden sollten.
Deshalb währe tcp eigentlich die sichere variante(ich weiß, es ist nicht 100% sicher :D)

sonst finde ich eh irgendwie tcp eleganter :D