• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Arcarde Autom. -Bilder dynamisch erstellen und mit Ausführbarer .bat Datei verknüpfen

tweak87

New member
Guten Morgen

ich stehe vor einem für euch vielleicht kleinen Problem und hoffe auf euren Rat. :confused:
Ich bin zusammen mit zwei freunden dabei einen Arcarde Automaten zu entwerfen welcher es ermöglichen soll diverse Spiele zu emulieren.
Die Ansteuerung des Tastenlayouts über einen Controller ist soweit abgeschlossen und getestet.

Hier mal ein Bild vom Prototypen;)
IMG-20160901-WA0062.jpg

Ich habe für jedes Spiel eine Batchdatei erstellt die den Emulator mit der Rom läd und startet.

Code:
d:
cd D:\Downloads\Mame 154\
mame64.exe pacplus

So weit so gut

Das Problem ist nun folgendens:

Ich würde gerne eine Oberfläche erstellen in der ich die Bilder eines Pades (\images\) am unteren Bildrand aufführt (250x250 pixel) und diese mit der Batchdatei verknüpft.
Die Auswahl soll über die Pfeiltasten erfolgen (Markiertes Bild soll umrandet werden) und anschließend mit Enter bestätigt werden. Eine Maus Eingabe ist nicht vorgesehen.

Den ersten versuch habe ich mit PHP gemacht kann jedoch ohne Sicherheitsabfrage kein Spiel öffen ....somit nicht zu gebrauchen....

Gibt es eine Möglichkeit die Umsetzung mit Javasript hin zu bekommen?



Das Auslesen des Ordnerinhaltes habe ich hinbekommen:


Code:
<!DOCTYPE HTML PUBLIC >
<html>
<head>
<title>Bilder Auslesen</title>
<script language="JavaScript" type="text/javascript">
<!--
var anz = 30;
var pfad = "images/"

for ( i = 1; i < ( anz + 1 ); ++i ) {

document.write('<img src="'+ pfad +'10' + i +'_1'+ '.bmp" border="0" width="200" heigh="200">');

}
//-->
</script>
</head>
<body>
<h1>Dokument mit integriertem JavaScript</h1>
</body>
</html>


Nur wie bekomme ich jetzt die bat Datei verknüpft / ausführbar bei Auswahl des Bildes?

Vielen Dank schon einmal für eure Bemühungen.
 
javascript ist für browser oder serverseitig für node.js gedacht. und browser dürfen aus sicherheitsgründen natürlich nicht auf die lokale platte zugreifen. wie bist du denn auf js gekommen?
 
Das wäre dann für die Lösung ja das Todesurteil....Ich hatte mir Javaskript bzw. PHP ausgesucht um über die CSS schnell Anpassungen vornehmen zu können....
Habt Ihr einen Vorschlag womit ich das ansonsten realisieren könnte?
 
Das Problem ist die Sicherheitsabfrage bzw der Download den ich anstoßen müsste....PHP arbeitet doch auch Serverseitig?...

ich hatte das ganze vorher über folgenden Code versucht...bis ich dann den versuch mich Java gestartet habe...


HTML:
<!DOCTYPE html PUBLIC 
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP - Ordner auslesen und anzeigen</title>
<style type="text/css">
ul#galerie {
	padding:0;
	margin:0;
	list-style-type:none;
	font-family:Arial, Helvetica, sans-serif;
}
ul#galerie li{
	padding: 3px;
	background-color:#ebebeb;
	border:1px solid #CCC;
	float:left;
	margin:0 10px 10px 0;	
}
ul#galerie li:hover{
	border:1px solid #333;
}
ul#galerie li span{
	display:block;
	text-align:center;
	font-size:10px;
}
ul#galerie li a img{
		border:none;
}
</style>
</head>

<body>
<ul id="galerie">
<?php
// Ordnername 
$ordner = "images"; //auch komplette Pfade möglich ($ordner = "download/files";)
$Games = "files"; //auch komplette Pfade möglich ($ordner = "download/files";)

// Ordner auslesen und Array in Variable speichern
$allebilder = scandir($ordner); // Sortierung A-Z
$allespiele = scandir($Games); // Sortierung A-Z
// Sortierung Z-A mit scandir($ordner, 1)               				

// Schleife um Array "$alledateien" aus scandir Funktion auszugeben
// Einzeldateien werden dabei in der Variabel $datei abgelegt
foreach ($allebilder as $bild) {
	
	// Zusammentragen der Dateiinfo
	$bildinfo = pathinfo($ordner."/".$bild); 
	//Folgende Variablen stehen nach pathinfo zur Verfügung
	// $dateiinfo['filename'] =Dateiname ohne Dateiendung  *erst mit PHP 5.2
	// $dateiinfo['dirname'] = Verzeichnisname
	// $dateiinfo['extension'] = Dateityp -/endung
	// $dateiinfo['basename'] = voller Dateiname mit Dateiendung
	
	// Größe ermitteln für Ausgabe
	$size = ceil(filesize($ordner."/".$bild)/1024); 
	//1024 = kb | 1048576 = MB | 1073741824 = GB
	
	// scandir liest alle Dateien im Ordner aus, zusätzlich noch "." , ".." als Ordner
	// Nur echte Dateien anzeigen lassen und keine "Punkt" Ordner
	// _notes ist eine Ergänzung für Dreamweaver Nutzer, denn DW legt zur besseren Synchronisation diese Datei in den Orndern ab
	// Thumbs.db ist eine Ergänzung unsichtbare Dateiergänzung die von ACDSee kommt
	// um weitere ungewollte Dateien von der Anzeige auszuschließen kann man die if Funktion einfach entsprechend erweitern
  
    
	if ($bild != "." && $bild != ".."  && $bild != "_notes" && $bildinfo['basename'] != "Thumbs.db" && $bildinfo['extension'] != "bat" && $bildinfo['extension'] != "hta") { 
	?>
    <li>
        <a href="<?php echo $bildinfo['dirname']."/".$bildinfo['filename'].".bat";?>"> 
     
    
        <img src="<?php echo $bildinfo['dirname']."/".$bildinfo['basename'];?>" width="140" alt="Vorschau" /></a> 
        <span><?php echo $bildinfo['filename']; ?> (<?php echo $size ; ?>kb)</span>
    </li>
<?php
	};
 };
?>
</ul>
</body>
</html>


wie würdest du die .bat denn dann ausführen?
 
Über diese Befehle war ich auch schon gestolpert, war aber davon ausgegangen das ich nur serverseitig abgelegte Programme starten kann. Ein Lokal gespeichertes Programm über eine serverseitig abgelegte batch funktioniert?
 
@xorg1990 Danke für den Tipp,

Visual Studio hatte ich im Zusammenhang mit VB Stript schon einmal ins Auge gefasst.Mit C# kenne ich mich leider nicht wirklich aus aber ich werde mir das jetzt nochmal genauer anschauen.

Eine Windows Anwendung ist im Endeffekt auch die schönste Lösung.

Wenn ich ins straucheln kommen kann ich zum Thema WPF nochmal auf dich zukommen? ;)

Zu dem Thema Linux gebe ich dir recht wäre günstiger ich hab allerdings schon einen ausgemusterten lauffähigen PC mit Microsoft Betriebssystem der vollkommen ausreichend sein sollte.
 
tweak87 schrieb:
Wenn ich ins straucheln kommen kann ich zum Thema WPF nochmal auf dich zukommen?
Ich möchte ehrlich sein: Nö, habe schon seit Jahren Windows in den Wind geschossen.
Du kannst dir aber die Vidoes von Jörn Loviscach mal ansehen.
https://www.youtube.com/watch?v=2gVDVeoxmgY&list=PL9txSunocNHgx8OY_07rb8lx2fO0qTcig
und
https://www.youtube.com/watch?v=8YLzpo09Wfw&list=PLA52494A93ABB690A

tweak87 schrieb:
Zu dem Thema Linux gebe ich dir recht wäre günstiger
Aber einfacher wird es dadurch nicht. Du musst eventuell die Emulatoren selber compilieren.
Um ein Bild einzurahmen geschweige den anzuzeigen brauchst du Kenntnisse über gtk
https://de.wikipedia.org/wiki/GTK+

Das alles nimmt dir WPF ab, zumindest in Windows. c# gibt es unter Linux nicht.

Ansonsten gäbe es noch Java, Python oder Perl. Java ist nicht viel anders als c# nur System unabhängig

- - - Aktualisiert - - -

Das könnte dich interessieren:
http://www.cambus.net/emulators-written-in-javascript/
 
Zurück
Oben