Jump to content
  • 0

pomoc foreach na for


Guyy

Dotaz

Kedže mi vždy YSI 4 dávalo velkú veľkosť súboru (MB) tak YSI nepoužívam, ale páči sa mi CoreJobs (YSI), ale nechcel som tam mať YSI tak som to celé prerábal, jediné čo som tam nechal je y_va na Update TextDrawu.. Ale narazil som na problém, každý funkcia používa funkciu SGetJobIDFromName, a v tej funkcií je "foreach(new iJob_ID: Jobs)" a ked som to zmenil na "for" a dal tam dMAX_JOBS , napísalo že Zamestnanie neexistuje.. Prosím niekoho skúseného, ktorý vie pracovať s YSI, aby mi poradil jak to nahradiť funkciou "for" aby to nepísalo že to Zamestnanie neexistuje.. Ďakujem :)

#define dMAX_JOBS (100)
new Iterator: Jobs<dMAX_JOBS>;

stock SGetJobIDFromName(sJobName[]) {

	foreach(new iJob_ID: Jobs) {

		if (!strcmp(JobsInfo[iJob_ID][eJob_Name], sJobName, false)) {

			return iJob_ID;
		}else return printf("| SJob | Error: Prace %s neexistuje! Nektere fce nebudou spravce fungovat!", sJobName);
	}
}

 

A ešte jedna vec, v vytváraní je 

iJob_ID = Iter_Free(Jobs);

Čím mám toto nahradiť ?? Ďakujem :)

Edited by EvoLve.
Link to comment
Share on other sites

4 odpovědí na tuto otázku

Recommended Posts

  • 2
  • Globální moderátor

Prostě to přepiš na obyčejný cyklus for, který prochází přes všechny existující zaměstnání

Dokonce jestli je to přímo funkce od něho, tak je chybně napsaná, takže bych to přepsal takto:

 

za předpokladu, že new jobCnt; je počet zaměstnání tak:

 
for(new i; i < jobCnt; i ++){
    if(!strcmp(JobsInfo[i][eJob_Name],sJobName,false)) return i;
                      
// sem stejně dojde pokud žádná taková práce neexistuje
printf("Prace %s blabla neexistuje",sJobName);
return -1;

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...