AdminMod.de
https://www.adminmod.de/

wieso gehen bei mir kein if() ?
https://www.adminmod.de/viewtopic.php?t=2237
Seite 1 von 1

Autor:  MrSpoocy [ 31.03.2002, 09:05 ]
Betreff des Beitrags:  wieso gehen bei mir kein if() ?

hi , also ich hab echt alles versucht aber ich hab volgenden code

...
convert_string(HLData,Data,MAX_DATA_LENGTH);
consgreet(Data); //dann gibt er mir aus was ich nach dem command geschrieben hab is auch 100 % ok

if(Data == 1)//Und genau hier kommen immer fehler.
{
consgreet("Jup die 1 , die is gut");
}

oder wenn ich

/*dann wehre Data admin_xxxx test 1*/
strgsep(Data, " ", "^"", Text, MAX_NAME_LENGTH, zahl, MAX_NUMBER_LENGTH);

if(zahl == 1) /*Auch hier kommt wieder mal der fehler*/
{
consgreet(Text);
consgreet("Jup die 1 , die is gut");
}
else
{
...
..
.
}


wesi einer was ich da machen muß ?

Autor:  MrClone [ 31.03.2002, 10:26 ]
Betreff des Beitrags:  wieso gehen bei mir kein if() ?

if(check_param(Data) == 1) {
execclient(Target,"say I'k bin oin Berlinr!");
}

Autor:  MrSpoocy [ 31.03.2002, 11:09 ]
Betreff des Beitrags: 

also beim einem script ging es nur beim 2ten nicht

new sekunden = timeleft();

if(check_param(sekunden) < 60)
{
...
..
.
}

was da nun wieder falsch ?

Autor:  MrClone [ 31.03.2002, 11:55 ]
Betreff des Beitrags: 

check_param(sParam)-->Gibt 1 wieder wenn sParam '1' oder 'on' ist, bei allem anderen '0'!!!

Bin mir nicht sicher, glaub aber das man das mit numtostr(num,str) machen muss. -->Convert the number stored in num to a string and store it in the variable str.

Autor:  MrSpoocy [ 31.03.2002, 12:25 ]
Betreff des Beitrags: 

geht nicht :-(((

Autor:  MrSpoocy [ 31.03.2002, 13:20 ]
Betreff des Beitrags: 

ich weis aus php,js das man die id mit

time1 = set_timer("warn20", time - 1200, 0);

bekommt , also so is es bei php und js , nur die frage is wie muß das new time1[xxxxxxxx] aussehen ? und ich denk mal mit

kill_timer(time1);

löscht man den einen wieder

Autor:  Sir Drink a lot [ 31.03.2002, 13:31 ]
Betreff des Beitrags: 

richtig mit dem Timer...habe ich gerade noch im anderen Thread geschrieben.

Zum Data == 1

Die Data ist ein String. Also keine Zahl. Entweder machst Du die Data zur Zahl mit iData= numtostr(Data) oder Du setzt Data == "1", oder Du machst ein if(strcmp(Data,"1")==0) und und und...

es gibt soviele schöne string Manipulationen und Vergleiche. Hat daRope schön gemacht :-)

Autor:  MrSpoocy [ 31.03.2002, 13:36 ]
Betreff des Beitrags: 

und hm , das dürfe aber auch nicht gegen weil du ja abfragst nach 1 , aber die timeid auch anders sein kann , und wo ist der kill_time ?

Autor:  Sir Drink a lot [ 31.03.2002, 13:37 ]
Betreff des Beitrags: 

richtig mit dem Timer...habe ich gerade noch im anderen Thread geschrieben.

Zum Data == 1

Die Data ist ein String. Also keine Zahl. Entweder machst Du die Data zur Zahl mit iData= strtonum(Data) oder Du setzt Data == "1", oder Du machst ein if(strcmp(Data,"1")==0) und und und...

es gibt soviele schöne string Manipulationen und Vergleiche. Hat daRope schön gemacht :-)

Autor:  daRope [ 31.03.2002, 14:39 ]
Betreff des Beitrags:  wieso gehen bei mir kein if() ?

Ok, jetzt mal ganz langsam, bevor hier noch mehr Quatsch erzaehlt wird. Du solltest Dich dringend mit dem Konzept von Arrays (auf Deutsch auch Felder genannt) vertraut machen. Ausserdem waere es angebracht, die Fehlermeldungen, die der Compiler ausspuckt, auch zu lesen und versuchen sie zu verstehen, bzw. hier nachzufragen, was sie heissen.

So, nun kucken wir mal auf Deinen Code.
Code:
...
An dieser nicht ganz unwesentlichen Stelle wird wohl irgendwo die Deklaration des Arrays Data stehen. Array ist dabei das Stichwort.
Code:
convert_string(HLData,Data,MAX_DATA_LENGTH);
Hier wird das Array "Data" nun also gefuellt.
Code:
if(Data == 1)//Und genau hier kommen immer fehler.
Hier liegt ja auch der Fehler. Dieser Vergleich ist, wie wenn Du schreibst "wenn dieses Regal die Bibel ist". (Nicht ganz, aber vergiss mal eben die Spitzfindigkeiten). Was Du vergleichen musst, ist aber der _Inhalt_ des Regals, also etwas so: "Wenn das erste Buch in diesem Regal die Bibel ist".

Fuer Deinen Code saehe das dann so aus:
Code:
if (Data[0] == '1') 
Code:
if(zahl == 1) /*Auch hier kommt wieder mal der fehler*/
Selber Fehler. Du willst wissen, ob in dem Array "zahl" die Zahl 1 steht, aber in Buchstaben. Wenn jetzt nur die Ziffern 1 bis 9 vorkommen koennen, dann geht hier wieder:
Code:
if ( zahl[0] == '1' )
Es ist aber folgendes zu beachten. Diese Abfrage ist nicht nur fuer die Zahl 1, sondern auch fuer 14 oder 123 oder 1024 wahr. Denn alle fangen mit '1' an. Um die ganze Zahl zu Vergleichen, musst Du also den gesamten String vergleichen (was hier dasselbe wie ein Array ist). Dazu gibt es wieder verschiedene Moeglichkeiten. Dazu sollte man wissen, dass im Computer 1 nicht gleich '1' ist. Es gibt im Rechner die Ziffer 1. Was Du hier hast, ist aber ein String. Das heisst, Du hast Buchstaben (Zeichen) da stehen, also das Zeichen '1'. Das ist nicht gleich der Zahl 1. (Das Zeichen '1' entspricht im ASCII Code der Zahl 49.

Du kannst jetzt entweder den String "zahl" mit einem anderen String vergleichen, oder den String "zahl" in eine Zahl umwandeln und diese dann mit einer anderen Zahl vergleichen.
Also entweder so:
Code:
if ( strcmp( zahl, "1" ) == 0 ) /*strcmp() gibt bei Gleichheit 0 zurueck*/
oder so:
Code:
new number = numtostr( zahl );
if ( number == 1 )
In Deinem besonderen Fall, kann man auch etwas machen, was schneller ist, weil man sich extra Funktionsaufrufe spart. Ein String endet immer mit der Zahl 0. Und zwar wirklich die Zahl 0, nicht das Zeichen fuer die Zahl 0, (was in ASCII wieder der Zahl 48 entspraeche). Das stellt man als Zeichen so dar: '^0'. Um zu pruefen, ob ein String "zahl" dem String "1" entspricht, kannst Du also kucken, ob am Anfang von dem String das Zeichen '1' steht und ob der String dann endet. Also ob dann eine 0 kommt. In Code sieht das dann so aus:
Code:
if ( zahl[0] == '1' && zahl[1] == '^0' )
So, wenn Du jetzt noch weisst, wo oben und unten ist, darfst Du weiter programmieren. ;)

Autor:  Sir Drink a lot [ 31.03.2002, 20:00 ]
Betreff des Beitrags: 

hm...

Habe ich denn jetzt soviel Falsches geschrieben ?

Ich will ja auch noch lernen...

Ok. Das Array-Verständnis bei mir ist wohl doch noch was rudimetär.

Autor:  daRope [ 31.03.2002, 20:44 ]
Betreff des Beitrags: 

Zitat:
hm...

Habe ich denn jetzt soviel Falsches geschrieben ?
Nein, hast Du nicht. Ich hab mich auch nicht auf Dich bezogen. (Bei Deinem Posting angekommen habe ich schon nur noch die Haelfte gelesen ;))

Autor:  Sir Drink a lot [ 01.04.2002, 00:02 ]
Betreff des Beitrags: 

Dabei habe ich Dich doch so schön gelobt für Deine string-Manipulationen ;-)

Ok. Hauptsache ist, es ist langsam verstanden worden, wie man einen string handled

Seite 1 von 1 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/