WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Designer Forum (http://www.wcm.at/forum/forumdisplay.php?f=61)
-   -   C Gauge: Der Zeiger des VSI will nicht!!! (http://www.wcm.at/forum/showthread.php?t=101376)

harry3 07.07.2003 19:16

Hallo!
 
Danke, das Gauge funktioniert jetzt. Es hätte sogar mit meinem ersten Code funktoniert!!! Wenn ich denn nur gewusst hätte, dass man das ganze ins gauge_update hineinschreiben muss...:rolleyes:


Vielen Danke für Eure tolle Hilfe, aber aller Anfang ist schwer. Denn in manchen Fällen haben C Gauges gegenüber XML Gauges große Vorteile, deswegen ist es sicher nicht schlecht, ein bisschen was in C zu können.
Außerdem wird das kommende Jahr in EDV vor allem Programmieren(C und Java) gelernt. Und da bei der Klasse über uns die Hälfte aller auf Nicht Genügend standen, ist es auch sicher nicht vom Nachteil, C Gauges zu können. Muss ich wenigstens weniger dort lernen.



Viele Grüße,
Harri:cool:


http://mypictures.i-networx.de/evsi.jpg

harry3 09.07.2003 21:44

Hallo!
 
Ich wollte statt gauge.txt den Namen vsi_set.hs, funtkioniert mit Turbo C++ perfekt. (bei den File IO dort)

Mit dem Gauge funktioniert es nicht.(MSVS C++) Nagut, die Erweiterung auf .txt geändert. Immer noch kein Erfolg. Also hab ich den Unterstrich weggelassen(_), hat auch nichts geholfen. Auf weniger Buchstaben reduziert(vsi.txt), nein es funktioniert nicht!!!
Die Textdatei hab ich natürlich immer analog zum neuen Gauge geändert!!!

Wie gibts denn dass?

Und dass, wenn keine Datei vorhanden ist, eine erstellt werden soll, funktioniert auch nicht.
if(!f)
{
f=fopen(datei, "w+");
fprintf(f,"3000");
fclose(f);
}
(Fehler werden keine angezeigt)

Beim nächsten Zeichenzyklus des Gauges müsste der Wert ja bereits auslesbar sein! Leider funktioniert das nicht.
Und das ich die Variablen direkt mit Zahlen belege, hat leider auch nicht funktioniert
if(!f)
{
farbe_max=3000;
.
.
.}

Der Grund, warum ich nicht auf ...\\Microsoft Games\\FS2002\\... zugreifen kann, ist doch der, dass Namen über 8 Buchstaben abgekürtzt werden, also nur noch nach dem Ordner Microsoft gesucht wird. Und da es mehrere davon gibt(MS Office, MS Spiele, MS Nachschlagewerke...), findet das Programm sowie das Gauge den Weg dorthin nicht. Kann das sein?


Viele Grüße,
Harri :cool:

bartels 09.07.2003 22:15

Hast Du mal gecheckt ob irgendwo eine Datei des gewünschten Namens entstanden ist? Nicht unbedingt im FS Verzeichnis. Im Prinzip können die Funktionen um fopen jeden zur Zeit erlaubten Dateinamen ab also keine Beschränkung auf 8.3 Zeichen. Wichtig ist vielleicht noch, dass Gauges in den Flugsimulator-Prozess geladen werden, das Arbeitsverzeichnis ist deswegen immer das FS Verzeichnis. Alle Dateinamen sind dann relativ dazu, falls sie nicht absolut angegeben sind. Bei relativen Pfadangaben ist es natürlich auch wurscht wie land die Verzeichnisnamen sind.
Arne Bartels

harry3 10.07.2003 17:46

Keine gauge.txt wird erstellt, obwohl ich alles auf das reduziert hätte.
Und if{!}...funktioniert auch nicht. Funktioniert denn in dem gauge irgendetwas, was mit File IO zu tun hat?

Wieso muss denn der File IO unbedingt in das gauge update hinein???

mfg
harri


void FSAPI vsi_update (PGAUGEHDR pgauge, int service_id, UINT32 extra_data)
{
FILE *f = NULL;
switch(service_id)
{

/* "install_routine()" */

case PANEL_SERVICE_PRE_INSTALL:
break;

case PANEL_SERVICE_POST_INSTALL:

f = fopen(datei, "w+");// Schreiben
//fscanf(f, "%d", &farbe_max);
fprintf(f, "3000");
fclose(f); // fclose() nur dann, wenn fopen() geklappt hat
farbe_max=3000;
farbe_min = -farbe_max;


break;

/* "initialize_routine()" */
.
.
.

harry3 10.07.2003 19:19

MAKE_STATIC( vsi_background,
VSI_BACKGROUND,
&vsi_plist6,
NULL,
IMAGE_USE_ERASE | IMAGE_USE_TRANSPARENCY | IMAGE_USE_BRIGHT,
0,
{0, 0} )

PELEMENT_HEADER vsi_list = &vsi_background.header;

Wieso ist der Hintergrund nicht "bright" in der Nacht:mad: ???

mfg
harri:cool:

harry3 13.07.2003 18:20

Ich habe jetzt noch ein bisschen probiert:
Wenn ich im Gauge als datei "vsi.txt" definiere, und es ist nur eine vsi.txt im FS2002 Ordner vorhanden, so wird die Datei nicht eingelesen. Ist allerdings "vsi.txt" definiert, aber nur eine gauge.txt im FS2002 Ordner vohanden, so wird diese Datei ausgelesen!!! Obwohl sie nicht mal dafür vorgesehen ist.
Es könnte ja sein, dass die datei zweimal definiert wird, deshalb habe ich jetzt mal so getan:
f = fopen("vsi.txt", "r");
Also direkt die Datei hineingeschrieben, um einen #define Fehler auszuschließen. Hat aber auch nichts geholfen! Versteht irgendjemand, wieso nur die eine Datei(gauge.txt) gelesen wird, ganz gleich welche Datei gelesen werden müsste!!!???


Viele Grüße,
Harri:cool:

marcelvgfs 13.07.2003 19:21

re
 
Das kann nicht sein, du musst den kompletten Quelltext zeigen, damit ich den Fehler finden kann.

Harri, beim besten Willen, das hat doch so keinen Sinn. Ich empfehle dir, ein C++ Buch zu kaufen, und Schritt für Schritt das Programmieren zu erlernen. So einfach mal drauflos kannst du vergessen - irgendwann scheiterst du.

harry3 13.07.2003 19:27

Hallo!
 
Eigentlich ists eh wurscht, dann heißt die Datei halt gauge.txt
Komisch ists aber trotzdem.

Ein C Buch werd ich mir nicht antun, dafür hab ich jetzt viel zu wenig Zeit. Außerdem ists eh unnötig, weil wir C noch genauer lernen werden in dem kommenden Jahr, und mit XML kann ich sowieso alle Gauges machen, die ich brauche, für den Rest gibts ja EasyGauge.



Viele Grüße,
Harri:cool:

Bastian 13.07.2003 22:20

Hi Harry

wenn Du willst kannst Du mir den Code mal per mail zu schicken aber bitte mit allen Bitmaps ;) der fehler würde mich auch mal interessieren...
bastian.hundt@gmx.de

Gruß
Bastian

harry3 14.07.2003 22:31

Hallo!
 
Anscheindend wäre mein Code eh nicht mal so falsch gewesen, denn bei Bastian funktioniert der Code. Der gleiche, denn ich auch schon mal gehabt hatte.
Bei mir funktioniert er immer noch nicht.

Ich vermute, dass ich in der panel.cfg den falschen Gauges Namen drinnen habe, wär zwar echt peinlich, aber das ist das einzig logische! Muss ich morgen mal checken!


Viele Grüße,
Harri:cool:


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag