2 registered members (AndrewAMD, juanex),
1,247
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
C-Lite--- Anfänger braucht Hilfe
#293647
10/12/09 21:23
10/12/09 21:23
|
Joined: Oct 2009
Posts: 7
silver_moon
OP
Newbie
|
OP
Newbie
Joined: Oct 2009
Posts: 7
|
hallo leute,
bin neu hier. hoffe ihr heißt mich herzlich willkommen. zu mir: ich bin hobby-programmierer und versuche mir alles selbst beizubringen... neulich hab ich die acknex endeckt und mich gleich verliebt. ich behersche html, css, php und ich bin anfänger in c und c++ und c-lite. ich hab vor ein kleines progi zu schreiben (also kein spiel). würde mich da jemand unterstützen wollen?
ich hab folgendes vor:
php-script auf nem funpic-server- diese liest ips aus und speichrt diese z.b. in einer .txt-datei. ein programm(oop) soll diese datei lesen und mit von mir verwendeten ips vergleichen und dann daraus schließen wann ein *fremder* die site besucht hat... im grunde gehts mir nur um das auslesen der datei... ein chat wär auch witzig... KANN MIR JEMAND HELFEN?
gruß silver_moon
Every man dies, not every man really lives! -William Walice
|
|
|
Re: C-Lite--- Anfänger braucht Hilfe
[Re: silver_moon]
#293779
10/13/09 19:23
10/13/09 19:23
|
Joined: Jul 2007
Posts: 424 EUROPE
maslone1
Senior Member
|
Senior Member
Joined: Jul 2007
Posts: 424
EUROPE
|
Hi! Leider habe ich nur ein "altes" project von mir entdeckt, welches unter umständen für dich hilfreich sein könnte. Es besteht aus drei dateien: test8_2.c, test8_2.h und der .ini datei. Die musst du erstellen und den code in die jeweilige datei kopieren. Dann sollte das starten funken. Das Programm zählt gewisse strings (Namen) in der datei. zudem kannst du dann eine "Schiffs-ID" angeben, um das Gewicht des jeweiligen Schiffes aus zu lesen. Als Anfänger in lite-c könnte das script noch extrem unübersichtlich sein, zudem ich es das script noch nicht bereinigt und optimiert habe. Ist also vermutlich noch sehr viel nonsense drin. aber siehst dir mal an..... test8_2.c
#include "test8_1.h"
void fDatei_txt_auslesen()
{ int Zahl[200];
int i; //Zähler für das auslesen der Datei
int n; //Zähler für das ausgeben der Datei
// int PointShip; //PointShip wird in der Ini-Datei deklariert -> Anzahl der beschriebenen Schifftypen
fhandle = file_open_read("test.ini");
ftimesname();
str_for_num(test_str,Zaehler);
file_close(fhandle);
}
void ftimesname() // +++++++++++ Diese Function zählt per Counter ein gesuchtes Wort in einer text-datei++++++++++++++
{
int i;
int PointShip;
//Hier könnte man eine weitere Bedingung einfügen,z.B. falls spiel neugestartet wird
for (i=0; i<file_length(fhandle); i++)
{
result = file_find(fhandle,"[SCHIFF]"); //+++++"[SCHIFF]" könnte man durch einen STRING* variabel verändern+++++++
if(result > 0) { Zaehler +=1; }
}
}
/////////////////////////////////////
// Function for INFORMATION-STRUCTS
/////////////////////////////////////
void readStructShip()
{ int i, ID_choice;
//char stringmemory;
fhandle = file_open_read("test.ini");
for(i=1; i < (Zaehler+1); i++) {
//Hier muss eine komplette Structabfrage erfolgen
//....abfrage auf weitere functionen aufteilen!
//*******************************************
//Teil 1... Suche erste ID
file_find(fhandle,"ID=");
PointShip = file_var_read(fhandle);
SShipType[i].acID = PointShip;
//*******************************************
//Teil 2... Suche darauf folgenden String - "Name="
file_find(fhandle,"Name=");
file_str_read(fhandle,stringmemory_str);
SShipType[i].acName = stringmemory_str;
//SShipType[i].acName = "TESTSTRING";
//str_cpy((SShipType[i].acName)[0], "TEST STRING");
//*******************************************
//Teil 3... Suche darauf folgendes Gewicht "Gewicht="
file_find(fhandle,"Gewicht=");
PointShip = file_var_read(fhandle);
SShipType[i].acMass = PointShip;
//*******************************************
//Teil 4... Suche darauf folgenden Informationstext "Info="
file_find(fhandle,"Info=");
file_str_read(fhandle,stringmemory_str);
//SShipType[i].acShipInfo = stringmemory_str;
//str_cpy(SShipType[i].acShipInfo, "TEST STRING");
//str_cpy((SShipType[i].acShipInfo)[i], stringmemory_str);
//*******************************************
}
file_close(fhandle);
str_cpy(operation_str, "Von welchem Schiff wollen Sie das Gewicht erfahren?");
wait(-3);
str_cpy(operation_str, "Geben Sie eine Schiffs_ID ein!");
wait(-3);
str_cpy(operation_str, "#3"); // anstelle von #3 könte ich auch nur 3 leerzeichen zwischen den " " einfügen.
str_cpy(test_str, "#3"); // -> So ist es aber lesbarer.
wait(-1);
inkey(test_str);
ID_choice = str_to_num(test_str);
str_for_num(operation_str, SShipType[ID_choice].acMass);
str_cpy(test_str,"#200");
//str_cpy(test_str, SShipType[ID_choice].acName);
test_str = SShipType[ID_choice].acName;
//str_cpy(test_str, stringmemory_char);
}
/////////////////////////////////////
// Functions for STRING operation_str
/////////////////////////////////////
void fDelete_operation_str()
{
str_cpy(operation_str, "#200");
wait(-1);
}
//////////////////////////////
// MAIN Function
//////////////////////////////
int main (void) {
//int Seite; //Für das Zugreifen auf die Array-Elemente
//int Seitenanzahl; //Anzahl der Array-Elemente
video_mode = 6;
vec_set(screen_color, vector(50, 25, 25)); // make the background color dark
// wait(-4);
fDelete_operation_str();
fDatei_txt_auslesen();
wait(-2);
readStructShip();
//wait(-6);
//sys_exit(NULL);
}
test8_2.h
//////////////////////////////
// Funktionsprototypen
//////////////////////////////
void fDelete_operation_str(); //Funktion löscht den operation_str
void fSShipDefinition(); //Funktion ermöglicht Parametereingabe zu Structur
void fDatei_txt_auslesen(); //Funktion liest die test.ini Datei aus
void ftimesname(); //zähle ein wort
void readStructShip();
///////////////////////////////
var Zaehler=0;
var fhandle; //Handle für das Auslesen einer Datei
int PointShip;
//////////////////////////////
// Structs
//////////////////////////////
//STRUCTUR FÜR DAS SCHIFF
typedef struct {
char* acID[20];
char* acName[200];
STRING* acShipInfo[200];
int acMass;
int acEnergie;
}SShip;
SShip SShipType[100];
////////////////////////////////////////////////////////////
STRING* test_str = " ";
TEXT* test_txt =
{
layer = 18;
pos_x = 10;
pos_y = 60;
string (test_str);
flags = VISIBLE;
}
//////////////////////////////
// Text
//////////////////////////////
STRING* operation_str = "#200";
TEXT* operation_txt =
{
layer = 15;
pos_x = 10;
pos_y = 20;
string (operation_str);
flags = VISIBLE;
}
STRING* stringmemory_str = "#30";
test.ini
////////////////////////////////////////////////////
HIER WERDEN DIE VERSCHIEDENEN SCHIFFSTYPEN DEFINIERT
////////////////////////////////////////////////////
ANZAHL DER SCHIFFSTYPEN=5,
////////////////////////////////////////////////////
HIER WERDEN DIE VERSCHIEDENEN SCHIFFSTYPEN DEFINIERT
////////////////////////////////////////////////////
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[SCHIFF]1
ID=1,
Name=Goliath-Frachter,
Info=Ein alter Frachter aber mit starken Waffen ausgestattet\n\n1x HE-Pulslaser\n1x Radix-Raketen,
Gewicht=5000,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[SCHIFF]2
ID=2,
Name=Morpheus,
Info=Dieses Schiff ist ein kleines Schlachtschiff der Klasse S3F1,
Gewicht=12000,
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[SCHIFF]3
ID=3,
Name=Karadinos,
Info=Ein Aufklärer der Klasse S2. Es hat Leichte Schilde und Waffen jedoch eine massive Hülle.,
Gewicht=2000,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[SCHIFF]4
ID=4,
Name=Tondosis VI,
Info=Ein Schlachtschiff welches konstruiert wurde um sich gegen mehrere Schlachtschiffe gleichzeitig messen zu können,
Gewicht=200000,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[SCHIFF]5
ID=5,
Name=Gindos II,
Info="Ein Schlachtschiff welches zu Schlachtschiffklasse GII gehört",
Gewicht=120000,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A8c, Blender, FlStudio, Unity3d
|
|
|
thx...
[Re: maslone1]
#293790
10/13/09 20:54
10/13/09 20:54
|
Joined: Oct 2009
Posts: 7
silver_moon
OP
Newbie
|
OP
Newbie
Joined: Oct 2009
Posts: 7
|
also erstmal danke...soweit ich das jetzt verstanden hab, liest das script eine ini-datei aus...müsste ich mich länger damit beschäftigen ums richtig zu verstehen ^^. sieht ähnlich aus wie bei c++. weißt du wie das geht wenn die ini-Datei jetzt auf nem server liegt? das wär dann interessant für mich...
hast du msn? ich brauch hin und wieder hilfe bei kleinigkeiten...
außerdem sprech ich auch einigermaßen englisch. my next thread will be in english.
Every man dies, not every man really lives! -William Walice
|
|
|
Re: thx...
[Re: silver_moon]
#293823
10/14/09 05:36
10/14/09 05:36
|
Joined: Jul 2007
Posts: 424 EUROPE
maslone1
Senior Member
|
Senior Member
Joined: Jul 2007
Posts: 424
EUROPE
|
na dann hättest du nicht "Anfänger" schreiben, dürfen.... Msn hab ich (steht in meiner Fußzeile), jedoch bin ich nur selten im Internet. Bezüglich Server kann ich dir leider auch nicht helfen, da wäre ich wohl absoluter noob. Aber wenn du mehr beispiele zum auslesen von dateien benötigst, gibt es irgendwo in den letzten 10? Ausgaben des AUM Monatmagazins dieses Thema mehrmals beschrieben. Wie man in eine Datei schreib und wie man Dateien auselesen kann. dann wünsch ich gutes gelingen.
A8c, Blender, FlStudio, Unity3d
|
|
|
Re: thx...
[Re: maslone1]
#293830
10/14/09 07:13
10/14/09 07:13
|
Joined: Dec 2003
Posts: 1,225 germany
gri
Serious User
|
Serious User
Joined: Dec 2003
Posts: 1,225
germany
|
hi silver_moon,
die Servermiete wird ziemlich happig wenn du da deine read_and_compare.exe laufen lassen willst. Es sei denn es ist dein eigener Server.
Du "beherrscht" also PHP. Implementier doch einfach die ganze I/O Funktion mit in deinen PHP code.
$datei=fopen("home.txt","r+"); while(!feof($datei)) { $zeile = fgets($datei,1000); echo $zeile."<br>"; } fclose($datei);
Also ich bin eher der ASP.NET "EXPERTE" und da wäre für dein Vorhaben keine separate Lösung über eine externe Sprache nötig.
Grüße, gri
"Make a great game or kill it early" (Bruce Shelley, Ensemble Studios)
|
|
|
Re: thx...
[Re: gri]
#294056
10/15/09 21:13
10/15/09 21:13
|
Joined: Oct 2009
Posts: 7
silver_moon
OP
Newbie
|
OP
Newbie
Joined: Oct 2009
Posts: 7
|
hii
also scheinbar habt ihr mich nich ganz verstanden. ein programm auf dem pc soll den inhalz einer datei auf einem server erfassen(z.B. FTP oder die Datei wird heruntergeladen und dann ausgelesen)...entschuldigt mich hab mich vlt. nicht klar genug ausgedrückt.
gruß silver_moon
Every man dies, not every man really lives! -William Walice
|
|
|
Möglichkeiten an die IP's zu kommen
[Re: silver_moon]
#294215
10/17/09 07:24
10/17/09 07:24
|
Joined: Feb 2006
Posts: 385 Oldenburg,Germany
Ralph
Senior Member
|
Senior Member
Joined: Feb 2006
Posts: 385
Oldenburg,Germany
|
Das Problem ist die Engine selbst hat keine FTP funktion... Du könntest aber folgendes tun: #1 Ein Batch-Datei erstellen die per FTP die Datei holt. (Unsicher da die Ftp-Daten in der Datei unverschlüsselt stehen) #2 Ein Plugin für die Engine schreiben.(Hab ich keine Ahnung von) #3 Es gibt ein Plugin das über das HTTP-Protokoll Dateien runterläd(Jeder kann über die URL auf die Datei zugreifen). #4 Oder du suchst dir das MYSQL-Plugin raus und holst dir die IP's dann über eine Datenbank.
MFG Ralph
Last edited by Ralph; 10/17/09 07:24.
|
|
|
Re: Möglichkeiten an die IP's zu kommen
[Re: Ralph]
#294225
10/17/09 09:56
10/17/09 09:56
|
Joined: Oct 2009
Posts: 7
silver_moon
OP
Newbie
|
OP
Newbie
Joined: Oct 2009
Posts: 7
|
okay erzähl mir bitte mehr über die methoden
#1 und #3
bei #1 wär ein code-beispiel ganz praktisch und ich hab noch nie mit nem plugin gearbeitet. wie geht das?
Every man dies, not every man really lives! -William Walice
|
|
|
Re: thx...
[Re: silver_moon]
#294376
10/18/09 19:19
10/18/09 19:19
|
Joined: Dec 2003
Posts: 1,225 germany
gri
Serious User
|
Serious User
Joined: Dec 2003
Posts: 1,225
germany
|
hii
also scheinbar habt ihr mich nich ganz verstanden. ein programm auf dem pc soll den inhalz einer datei auf einem server erfassen(z.B. FTP oder die Datei wird heruntergeladen und dann ausgelesen)...entschuldigt mich hab mich vlt. nicht klar genug ausgedrückt.
gruß silver_moon hi, also wenn ich das mit deinem Topic-text vergleiche ... Ok, du brauchst also ein Standalone Programm, welches dir Daten vom Server lädt und als Textfile lokal speichert (oder irgendetwas damit macht). Wie wär's mit VB.NET oder C#? Wobei ich nicht weis, ob die kostenlosen "Express" Versionen Einschränkungen in den HTTP Klassen haben. Brauchst du Code? grüße, gri
"Make a great game or kill it early" (Bruce Shelley, Ensemble Studios)
|
|
|
|