| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| Tom42 
 
 
 Anmeldungsdatum: 09.02.2005
 Beiträge: 21
 Wohnort: Wolfsburg
 
 | 
			
				|  Verfasst am: 16.11.2010, 00:15    Titel: Suche Hilfe (Comandline - Parser) |   |  
				| 
 |  
				| Hallo Leute, für ein Project brauche ich Hilfe für einen Comandline Parser.
 Habe keine Idee wie ich das angehen kann.
 
 Beispiel -> *.exe [Optionen] Infile Outfile
 
 Vielen Dank
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 16.11.2010, 00:25    Titel: |   |  
				| 
 |  
				| Wobei genau brauchst du denn Hilfe? 
 Wenn es darum geht, ein Programm mit Parametern zu starten, dann sollte das weiterhelfen: COMMAND.
 
 Um die übergebenen Parameter, also die Dateien zu lesen/schreiben: OPEN.
 
 Wenn du Hilfe für den Parser allgemein brauchst, musst du schon mehr dazu sagen, was du parsen willst, also Beispeiel für Input und Output.
 
 Eine "Art" Parser habe ich vor kurzem zu Anschauungszwecken hochgeladen: Parser-Beispiel.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Tom42 
 
 
 Anmeldungsdatum: 09.02.2005
 Beiträge: 21
 Wohnort: Wolfsburg
 
 | 
			
				|  Verfasst am: 16.11.2010, 00:37    Titel: Comandline - Parser |   |  
				| 
 |  
				| Hallo 
 hier mal das Projeckt um welches es geht:
 http://forum.qbasic.at/viewtopic.php?t=7329
 
 ich möchte bestimmte einstellungen für die Lame_Enc.dll
 übergeben zb. Bitrate  VBR also mehre Optionen
 sowie das Infile und änderung des OutFile (später um die ID3Tags)
 zu übergeben.
 Das alles soll über  Exact Audio Copy gesteuert werden können
 oder aber auch Direkt auf der Console.
 
 Gruss Thomas
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Jojo alter Rang
 
  
 Anmeldungsdatum: 12.02.2005
 Beiträge: 9736
 Wohnort: Neben der Festplatte
 
 | 
			
				|  Verfasst am: 16.11.2010, 08:53    Titel: Re: Comandline - Parser |   |  
				| 
 |  
				|  	  | Tom42 hat Folgendes geschrieben: |  	  | Das alles soll über  Exact Audio Copy gesteuert werden können oder aber auch Direkt auf der Console.
 | 
 Sorry, aber gibt es nicht genau dafür lame.exe? EAC kennt die nötigen LAME-parameter. Was für einen Mehrwert versprichst du dir von einen eigenen Wrapper-EXE?
 _________________
 » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Tom42 
 
 
 Anmeldungsdatum: 09.02.2005
 Beiträge: 21
 Wohnort: Wolfsburg
 
 | 
			
				|  Verfasst am: 16.11.2010, 10:18    Titel: Comandline - Parser |   |  
				| 
 |  
				| Hallo Jojo, 
 grundsätzlich hast Du schon recht das ich Lame dazu benutzen könnte.
 Mir geht es aber darum dies mit FreeBasic umzusetzten.
 Vieleicht kann mit diesem Code jemand anderes was daraus machen oder
 auch nur zum spass oder .....
 Ich habe schon einige Bespiele gesehen in FB, die aus C nach FB umgestetz wurden und werden.
 Für mich selber ist es zum lernen was daraus noch entstehen
 kann/könnte weiß ich [noch]nicht.
 Im moment ist es zum Spass und für alle die sich dafür Intressieren.
 
 PS. als ich diesen Coden [FBME] hier  http://forum.qbasic.at/viewtopic.php?t=7329
 abegelegt hatte wurde dieser in recht kurzer Zeit oft gelesen
 z.Z ca 260 mal
 
 Ich hoffe Du kannst mit trotzdem bei meinen Problem mit
 dem Parsen ein wenig weiterhelfen.
 
 Gruss
 Thomas
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| MOD Fleißiger Referenzredakteur
 
  
 Anmeldungsdatum: 10.09.2007
 Beiträge: 1003
 
 
 | 
			
				|  Verfasst am: 16.11.2010, 11:28    Titel: |   |  
				| 
 |  
				| [Feuerwerk]500 Beiträge[/Feuerwerk] 
 Ich verstehe immer noch nicht wo dein Problem liegt. Auch dein Beitrag im englischen Forum lässt diese Frage offen.
 
 Sowohl ich als auch j_milton haben dir COMMAND gegeben. Du musst diesen Befehl doch nur zu Beginn ausführen, die Werte, die als Parameter an das Programm übergeben wurden, in Variablen speichern und die Variablen im Code an entsprechender Stelle einfügen. Mit einem Parser hat das erstmal wenig zu tun.
 
 
 Wenn du nicht genau die Schwierigkeit erklärst, die du hast, wird es mit der Hilfe natürlich auch schwer.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 16.11.2010, 19:33    Titel: |   |  
				| 
 |  
				| GNU GetOpt |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Tom42 
 
 
 Anmeldungsdatum: 09.02.2005
 Beiträge: 21
 Wohnort: Wolfsburg
 
 | 
			
				|  Verfasst am: 16.11.2010, 21:36    Titel: Comandline - Parser |   |  
				| 
 |  
				| Hi. User 28398 hat mich verstanden das ist genau das was ich meine
 hier Info dazu.
 
 BEZEICHNUNG
 getopt - werte Kommandozeilenoptionen aus
 
 BESCHREIBUNG
 Die  Funktion  getopt()  wertet  die  Kommandozeilenoptionen aus.  Ihre
 Argumente argc und argv sind die Argumentanzahl und das  Argumentenfeld
 wie  zur Funktion main() bei Programmaufruf übergeben.  Ein Element von
 argv , dass mit ‘-’ beginnt (und nicht exact "-" or "--") ist, ist  ein
 Optionselement.   Die  Zeichen  dieses  Elementes (ohne das einleitende
 ‘-’) sind Optionszeichen.  Wenn getopt()  wiederholt  aufgerufen  wird,
 gibt   sie   aufeinanderfolgend  jedes  der  Optionszeichen  von  jedem
 Optionselement zurück.
 
 Wenn getopt() ein  weiteres  Optionszeichen  findet,  gibt  sie  dieses
 Zeichen  zurück,  wobei  die externe Variable optind und eine statische
 Variable nextchar auf neuen Stand gesetzt werden, so dass  der  nächste
 Aufruf  von  getopt()  die  Suche mit dem folgenden Optionszeichen oder
 argv-Element fortsetzen kann.
 
 Wenn es keine weiteren Optionszeichen gibt, gibt  getopt()  -1  zurück.
 Dann  ist optind der Index in argv des ersten argv-Elementes, das keine
 Option ist.
 
 optstring ist ein String,  der  die  gültigen  Optionszeichen  enthält.
 Wenn  solche  ein  Zeichen von einem Doppelpunkt gefolgt wird, benötigt
 diese Option  ein  Argument,  weswegen  getopt  einen  Zeiger  auf  den
 folgenden  Text  in dem selben argv-Element oder den Text des folgenden
 argv-Elementes in optarg platziert.  Zwei Doppelpunkte  bedeuten,  dass
 diese  Option  ein optionales Argument nimmt; wenn es Text im aktuellen
 argv-Element, wird er in optarg zurückgegeben, anderenfalls wird optarg
 auf  Null  gesetzt.  Dieses ist eine GNU-Erweiterung.  Wenn optstring W
 gefolgt  von  einem  Semikolon  enthält,  wird   -W   foo   wie   --foo
 interpretiert.   (Die  Option  -W  ist  reserviert  von POSIX.2 für die
 Implementierung von Erweiterungen.)  Dieses  Verhalten  ist  eine  GNU-
 Erweiterung, die nicht verfügbar war in Bibliotheken vor GNU libc 2.
 
 Per  Vorgabe  vertauscht getopt() den Inhalt von argv beim Durchsuchen,
 so dass eventuell alle Nichtoptionen am Ende stehen.  Zwei andere  Modi
 sind ebenfalls implementiert.  Wenn das erste Zeichen von optstring ein
 ‘+’ ist, oder die Umgebungsvariable POSIXLY_CORRECT gesetzt  ist,  dann
 stoppt  die Optionsbearbeitung sobald ein Argument auftritt, dass keine
 Option ist.  Wenn das erste Zeichen von optstring  ein  ‘-’  ist,  dann
 wird jedes Argument von argv, dass keine Option ist, behandelt als wenn
 es Argument einer Option mit  dem  Zeichencode  1  waere.   (Dies  wird
 benutzt  von Programmen, die Optionen und andere argv-Elemente in einer
 Reihenfolge erwarten, und die  Wert  auf  die  Reihenfolge  der  beiden
 legen.)   Das spezielle Argument ‘--’ erzwingt die Beendigung der Suche
 nach Optionen unabhängig von der Suchmethode.
 
 Wenn   getopt()   ein   Optionszeichen   nicht   erkennt,   wird   eine
 Fehlernachricht   nach   stderr   ausgegeben,  das  Zeichen  in  optopt
 gespeichert und ‘?’ zurückgegeben.  Das aufrufende  Programm  kann  die
 Fehlernachricht verhindern durch setzen von opterr auf 0.
 
 Die Funktion getopt_long() arbeitet wie getopt(), bis auf dass sie auch
 lange Optionsnamen unterstützt, die  mit  zwei  Minuszeichen  beginnen.
 Lange   Optionsnamen   dürfen  abgekürzt  werden,  wenn  die  Abkürzung
 eindeutig ist, oder exact einer definierten  Option  entspricht.   Eine
 lange Option darf einen Parameter der Form --arg=param oder --arg param
 nehmen.
 
 Leider kann ich kein C aber so sollte es sein und dies in FB aber wie ??
 
 Gruß
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| nemored 
 
  
 Anmeldungsdatum: 22.02.2007
 Beiträge: 4711
 Wohnort: ~/
 
 | 
			
				|  Verfasst am: 17.11.2010, 00:38    Titel: |   |  
				| 
 |  
				| Kleine Korrektur: for(a=b; a<c; a++) { bla } =
 
  	  | Code: |  	  | FOR a = b TO c-1 bla
 NEXT
 | 
 _________________
 Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| 28398 
 
 
 Anmeldungsdatum: 25.04.2008
 Beiträge: 1917
 
 
 | 
			
				|  Verfasst am: 17.11.2010, 17:06    Titel: |   |  
				| 
 |  
				| Das hätte er auch sicher selbst gemerkt... nach drei Stunden debugging xD |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |