Zahlen von - bis und Dateiname ändern

06/19/2015 09:25 Instruc#1
Guten Tag,

ich überlege die ganze Zeit wie ich folgendes lösen könnte, jedoch fällt mir nichts ein und da ich noch AutoIt neuling bin fällt es mir umso schwerer.
Szenario:
Es soll eine Liste ausgedruckt werden, es gibt 2 Spalten worin mal eine Postleitzahl Von und Bis eingibt... es sollte z.B. so aussehen Von: 10000 bis 10999 so und die nächste PLZ sollte so aussehen Von: 11000 bis 11999 und so weiter bis 99999.
Dateiname sollte der PLZ Range entsprechen... bei 10000 bis 10999 dann z.B. "Gebiet 10000-10999".

Ich hoffe ihr könnt mir echt weiterhelfen

MfG
06/19/2015 10:52 °Incinerate#2
Ich konnte deine Beschreibung nicht ganz verstehen...
Meinst du so?

Code:
$von = InputBox("PLZ", "Bei welcher Postleitzahl soll begonnen werden?")
$bis = InputBox("PLZ", "Bis welche Postleitzahl soll es gehen?")

For $i = $von To $bis
	FileWrite("Gebiet " & $von & "-" & $bis & ".txt", $i & @CRLF)
Next
06/19/2015 11:36 Instruc#3
Also stell dir vor du willst eine liste mit Daten haben, diese willst du aber jedesmal sortiert haben, also gibst du bevor du den "Ausdruck" machst ein Gebiet ein Postleitzahl von 10000 bis 10999 so und dann wird diese liste ausgedruckt mit dem Namen Gebiet 10000 - 10999. So dann geht es automatisch weiter er soll dann von 11000 bis 11999 eintragen und diese Liste dann mit den namen Gebiet 11000 - 11999 abspeichern.

So evtl. besser :S ?

Lg
06/19/2015 13:15 Devsome#4
Quote:
Originally Posted by Instruc View Post
Guten Tag,

ich überlege die ganze Zeit wie ich folgendes lösen könnte, jedoch fällt mir nichts ein und da ich noch AutoIt neuling bin fällt es mir umso schwerer.
Szenario:
Es soll eine Liste ausgedruckt werden, es gibt 2 Spalten worin mal eine Postleitzahl Von und Bis eingibt... es sollte z.B. so aussehen Von: 10000 bis 10999 so und die nächste PLZ sollte so aussehen Von: 11000 bis 11999 und so weiter bis 99999.
Dateiname sollte der PLZ Range entsprechen... bei 10000 bis 10999 dann z.B. "Gebiet 10000-10999".

Ich hoffe ihr könnt mir echt weiterhelfen

MfG
Also sollen wir Datein erstellen die entsprechend die PLZ haben ?
Quote:
Gebiet_100.*
Gebiet_101.*
...
Diese sollen danach gedruckt werden ?
Oder sollen der Dateiname Gebiet_100-100 in eine Textdatei geschrieben werden & diese soll gedruckt werden ?
Textdatei1 enthält: Gebiet_101 bis Gebiet_199
Textdatei2 enthält: Gebiet_200 bis Gebiet_299

Sofern es in den Textdatei stehen soll, ist unten die Lösung von °Incinerate.
Sofern es als Datei gespeichert werden soll, welchen Inhalt & endung ?

Quote:
Originally Posted by °Incinerate View Post
Ich konnte deine Beschreibung nicht ganz verstehen...
Meinst du so?

Code:
$von = InputBox("PLZ", "Bei welcher Postleitzahl soll begonnen werden?")
$bis = InputBox("PLZ", "Bis welche Postleitzahl soll es gehen?")

For $i = $von To $bis
	FileWrite("Gebiet " & $von & "-" & $bis & ".txt", $i & @CRLF)
Next
06/19/2015 13:24 Instruc#5
[Only registered and activated users can see links. Click Here To Register...]

So wie ihr in dem Bild sehen könnt gibt es 2 eingabefelder... Links ist das für "Von" und Rechts "Bis". So wir gehen jetzt davon aus ich mache eine Beispieldatei :
Ich gebe links ein 10000 und rechts 10999 dann gehe ich auf Speichern bzw. drucken es erscheint PDFCreator wo ich dann einen Dateinamen eingeben kann diese ist dann in diesem Fall Gebiet_10000_bis_10999 dann wird diese gespeichert und ich fange wieder von neu an, nur diesesmal halt mit 11000 bis 11999...

Hoffe ich habe es jetzt ein wenig besser ausgedrückt.

Ich danke euch für eure Hilfe
Lg
06/19/2015 16:55 Moneypulation#6
Und was soll in diesen Dateien bzw. pdf's drin stehen?
06/19/2015 18:43 °Incinerate#7

Habs das jetzt einfach mal so umgesetzt, angesehen vom PDF erstellen & drucken...
Prinzipiell nichts anderes als das was ich vorhin geschrieben habe, nur eben mit einem GUI.


Falls es um das drucken und/oder ums PDF erstellen geht dann sag das doch bitte. ;)
06/22/2015 10:17 Instruc#8
Also zu aller erst, ihr seid echt Super, dein Code @°Incinerate würde ich so nie hinbekommen :D respekt.

Aber ich konnte euch wohl noch nich nahe bringen was genau ich will.
Auf ein neues :
Stellt euch vor ihr habt ein Fenster (das Fenster gibt es schon, es soll nicht extra erstellt werden durch autoit o.ä) wo ihr die zahlen 10000 - 10999 eingibt ( Die eingabe soll automatisch durch Autoit geschehen) danach drückt ihr auf "weiter" dies passiert einfach durch MouseClick left dann öffnet sich ein neues Fenster worin zu erst per Mouse Coords der Speicherort festgelegt wird und dann soll durch AutoIt automatisch der Dateiname eingegeben werden, Dateiname soll von der zuvor eingegebenen Zahl wie in diesem Fall 10000-10999 übernommen werden also "Gebiet - 10000-10999". So das wird dann einfach abgespeichert.
Dann fängt alles von neu an nur diesesmal soll wieder automatisch durch autoit der nächste Bereich eingegeben werden 11000-11999.

Falls dies immer noch nicht reicht kann ich einem gerne per TV ein bsp zeigen.

Ich danke euch

Lg
06/22/2015 12:18 Devsome#9
Ohne das Programm zuhaben, können wir da recht wenig machen.
Wir könnten über lange wege dir es vesuchen zu erklären, aber wenn du den Code den Incinerate dort gemacht hat, nicht hinbekommst wird es sehr schwer für dich das umzusetzten.

Du willst also das AutoIt das eingeben der Zahlen automatisch in einem Fremdenprogramm übernimmt, danach auf weiter klickt der Speicherort ausgelesen werden muss ?! bzw. einfach ein neuer Text eingegeben die zuvor automatisch in den Inputfeldern eingegeben worden sind.

Regards
06/22/2015 12:57 Instruc#10
Hey, nein Speicherort muss nich ausgelesen werden o.ä. das einzige was AutoIt übernehmen soll bzw. wobei ich eure Hilfe brauche ist das eingeben der Fortlaufenden Zahlen und den Dateinamen.
Rest wird über MousClick und Koordinaten geregelt.
06/22/2015 14:13 Devsome#11
Wenn du das mit den MouseClick schon hast, klicke doch einfach in das Inputfeld und nimm den befehle
Code:
Send("10000-19999");
Da du es ja in einer Schleifen haben möchtest bzw. fortlaufende Zahlen kannst du For oder While nehmen.
06/23/2015 17:45 lolkop#12
Code:
For $i=10000 To <bis wo auch immer> Step 1000
   WinWait(<Fenstertitel des eingabefensters>)
   ControlSetText(<Fenstertitel des eingabefensters>, '', <controlid>, $i&'-'&$i+999)
   ControlClick(<Fenstertitel>, '', <controlid>, 'left')
   Sleep(1000)
Next
Gewöhn dir doch mal bitte an, das wichtigste komprimiert in Stichpunkten zu erfassen...

Beispiel:
  1. Text <a> soll in Control <b> im Fenster <c> eingefügt werden
    • Text <a> ist folgendermaßen aufgebaut: ...
  2. Maus soll auf Control <d> im Fenster <e> linksklick ausführen
  3. das ganze soll wiederholt werden, bis Text <a> folgendermaßen aussieht: ...
    • Text <a> wird hierbei jeweils um <f> inkrementiert
Damit könnte man dann auch etwas anfangen und dir helfen....