ProgramParameter

Anfängerfragen zum Programmieren mit PureBasic.
Caliban
Beiträge: 41
Registriert: 08.09.2004 08:46

Beitrag von Caliban »

Nur so aus interesse sowas wie das Return in c gibts dan in PB nicht ? Ich hab nämlich nichts gefunden. Das wäre nämlich genau das was er suchen würde.

Code: Alles auswählen

#include <stdio.h>

int main()
{
   printf("Hallo Welt\n");
   return 0;
}
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Mit der Reg hats nicht geklappt :( . Und soweit ich den Artikel verstanden hatte bezieht der sich auf zwei PB programme und nicht auf eine Batch ich denke aber das mit der ugv muss so laufen nur das die für alle prozesse vorhanden sein muss. Aber davon habe ich keinen Plan.
Danke Mark S.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Beide Programm erzeugen Zufallswerte die sie dem jeweiligen anderen als Parameter übergeben ..


Pb -Programm als 111.exe kompilieren

Code: Alles auswählen

MessageRequester("PB",ProgramParameter(),0)
;Erzeugung eines ZufallsStrings
For i=1 To 10
para.s+Chr(Random(25)+65)
Next i
RunProgram("cmd.exe","/K 111cmd.cmd "+para,"",1)
End
Batch als 111cmd.cmd abspeichern

Code: Alles auswählen

@echo off
echo %1
echo und weiter geht's mit dem PB Programm
pause
rem %random% erzeugt eine ZufallsZahl (XP)
start 111.exe %random%
exit
beide in ein Verzeichnis packen und eins von beiden dort starten.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

@caliban:
Klar gibts das

Code: Alles auswählen

OpenConsole()

Procedure.l haupt()
  PrintN("Hallo Welt")
  ProcedureReturn 0
EndProcedure

haupt()
Delay(1000)
Aber was hat das mit dem Beitrag hier zu tun?
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Halo "bobobo"

das ist mir ja schon alles bekannt das hatte ich auch schon mir überlegt aber es kann nicht funktionieren weil ja die batch datei Z.B.

Code: Alles auswählen

@ECHO OFF
TITLE Datei Sortierer
COLOR 4E

IF !test!==test (GOTO next) ELSE SET test=test
IF NOT !test!==test START /MIN "CMD.EXE" CMD /V /C SortData.BAT && GOTO :EOF

:next
MsgBox.EXE "M”chten Sie den Datei Sortierer starten?" "Datei Sortierer" 2 3
IF !ERRORLEVEL! == 7 GOTO EXIT

IF EXIST RESTORE.BAT (
	MsgBox.EXE "Es wurde eine Wiederherstellungsdatei (Restore.BAT) gefunden. M”chten Sie eine neue Wiederherstellungsdatei anlegen?" "Datei Sortierer" 2 3
	IF !ERRORLEVEL! == 6 DEL RESTORE.BAT
)

FOR %%A IN (*) DO (
	SET data="%%~nA%%~xA"
	SET extension=%%~xA
	SET dirname=!extension:.=!
	IF NOT !data! == "SortData.BAT" (
		IF NOT !data! == "MsgBox.EXE" (
			IF NOT !data! == "Restore.BAT" (
				IF "!extension!" == "" (
					MKDIR "Without Extension"
					MOVE /Y !data! "Without Extension"
					ECHO MOVE "Without Extension\%%~nA" >> Restore.BAT
					SET /A datastore+=%%~zA
				) ELSE (
					ECHO MOVE !dirname!\%%~nA%%~xA >> Restore.BAT
					MKDIR !dirname!
					MOVE /Y !data! !dirname!
					SET /A datastore+=%%~zA
				)
			SET /A datanr+=1
			)
		)		
	)
)

IF !datastore! GTR 1 (SET datastore=!datastore! Bytes) ELSE SET datastore=!datastore! Byte
IF !datanr! GTR 1 SET text=Es wurden !datanr! Dateien (!datastore!) verschoben.
IF !datanr! EQU 1 SET text=Es wurde 1 Datei (!datastore!) verschoben.
IF !datanr! EQU 0 SET text=Es wurde keine Datei (0 Bytes) verschoben.

CLS

MsgBox.EXE "!text!" "Datei Sortierer" 1
fas.exe "RUN" "INFO" 456
ECHO !VarName!
EXIT
nicht noch einmal neu aufgerufen werden kann!

Die beiden vorletzen Zeilen sind die sachen ich übergebe PB etwas und das gibt mir die auswertung zurück (dabei spielt es keine rolle in welcher form aber den Umweg über die Datei wollte ich vermeiden).
Danke Mark S.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Meine Batch Datei kann aber nochmal aufgerufen werden.

Ist die Batchdatei so wichtig dass Du die nicht mit PB nachprogrammieren kannst?
Wenn ich das richtig sehe geht es darum ein paar Dateien in Verzeichnisse zu verschieben.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Ja ich kann das mit PB Programieren, es ist sogar viel viel leichter als in Batch aber dann ist ja die Grundlage volkommen verändert aber wenn es keine möglichkeit gibt so wie ich das sehe, dann werde ich leider nicht drum rum kommen! :D
Danke Mark S.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

da bei mir das gegenseitige Aufrufen funktioniert und bei Dir nicht steckt der Fehler entweder in Deinem PB-Programm oder in der BatchDatei .. oder im Konzept .. Irgendwas neustricken musst Du eh .. da kannst Du das auch gleich in PB machen.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
MASH
Beiträge: 130
Registriert: 22.05.2005 17:43

Beitrag von MASH »

Das gegenseitige aufrufen funktioniert ja auch aber meine batch ist ja schon aufgerufen.

Es ist ja kein fehler!

die guten alten Batch Scripts können eben doch nicht alles.
Danke Mark S.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

eben ..
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten