Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Parameter

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ebel, Jochen



Anmeldungsdatum: 15.06.2015
Beiträge: 2

BeitragVerfasst am: 15.06.2015, 06:18    Titel: Parameter Antworten mit Zitat

In VBA kann ich gut programmieren. Parameter lese ich dabei aus einem Excel-Tabellenblatt ein. Ich möchte Datein bearbeiten, die sich im gleichen Verzeichnis befinden wie das zu erstellende Programm.

Der Aufruf wäre also:
Erstellt.exe Dateiname

In "Erstellt.bas" brauche ich also 2 Befehle, die ich nicht explizit gefunden habe:
1. Wie kann ich im Programm das aktuelle Verzeichnis einlesen?
2. Wie kann ich den Parameter "Dateiname" einlesen?

Bei der Suche nach Parameter finde ich immer programminterne Parameter, habe aber nicht explizit die Antworten für obige Fragen erhalten.

MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
RockTheSchock



Anmeldungsdatum: 04.04.2007
Beiträge: 132

BeitragVerfasst am: 15.06.2015, 08:56    Titel: Antworten mit Zitat

Was du suchst sind folgende Funktionen

ExePath
http://www.freebasic-portal.de/befehlsreferenz/exepath-262.html

und Command
http://www.freebasic-portal.de/befehlsreferenz/command-101.html

Code:
Print ExePath 'Pfad der Exe Datei
Print Command(1) 'erster Parameter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ebel, Jochen



Anmeldungsdatum: 15.06.2015
Beiträge: 2

BeitragVerfasst am: 15.06.2015, 10:02    Titel: Antworten mit Zitat

Danke, hat geholfen.

Die Werte will ich an Variablen übergeben.

So wurde mein Programm:

Code:
DIM Pfad as string
DIM NameEin as string
DIM Namek as string
DIM NameLese as string
DIM NameAus as string
DIM Zeile as string
dim v as integer

Pfad = EXEPath      'Liest den Pfad, wo sich das Programm befindet
NameEin = command   'Liest Paramet aus der Kommandozeile
v = instr(NameEin,".ind")
if v > 1 then
    Namek = left(NameEin,v-1)
else
    END 1
end if
NameLese = Pfad & "\" & NameEin
NameAus = Pfad & "\" & Namek & ".tex"

kill NameAus    'liefert keinen Fehler, wenn Datei nicht existiert

open NameLese for input as #1
open NameAus for output as #2

do until eof(1)
    Line input #1, Zeile
    print #2, Zeile
loop

close #2
close #1

/edit dreael: Code-Tags ergänzt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 849
Wohnort: Ruhrpott

BeitragVerfasst am: 15.06.2015, 10:43    Titel: Antworten mit Zitat

Hallo Ebel, Jochen und willkommen im Forum! lächeln

Der Befehl "Kill" ist überflüssig. Wenn eine Datei als "Output" geöffnet wird, überschreibt sie eine eventuell vorhandene Datei gleichen Namens ohne Nachfrage.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz