Tema: Re: C sintakse
Autorius: Laimis
Data: 2022-01-12 08:55:47
Nioka rašė:
> C programeriams klausimas. Ar teisinga žemiau sintaksė? Įdėjau lietuvių

Visos sintaksės teisingos (kai formaliai teisingos), nepriklausomai nuo
to, ką jomis norima išreikšti... ;-)

> kalbą, atrodo veikia, bet perskaičiau, kad tarp if ir endif gali būti
> tik vienas else. Kaip teisingai parašyti?
> Nežinau C sintaksės, naudoju pagrinde js ir html.
>  
> #ifdef __LANG_Russian__
>   //Russian strings
>   #define _CHARSET_ windows-1251
>   #define _HTML_TITLE_ Проверка
>   #define _PROJECT_TITLE_ Проект
>   #define _PRODUCT_TITLE_ Изделие
>  
> #else
> #ifdef __LANG_Lithuanian__
>  //Lituanian strings
>   #define _CHARSET_ windows-1257
>   #define _HTML_TITLE_ Patikrinimas
>   #define _PROJECT_TITLE_ Projektas
>   #define _PRODUCT_TITLE_ Gaminys
>  
> #else
>  //Default English string
>   #define _CHARSET_ windows-1252
>   #define _HTML_TITLE_ Inspection
>   #define _PROJECT_TITLE_ Project
>   #define _PRODUCT_TITLE_ Product
>  
> #endif
> #endif

Iš tikrųjų čia reikėtų suprasti/žinoti, kad tikroji nested logika yra
tokia (gali būti subtilių niuansų tam tikrais atvejais):

ifdef __LANG_Russian__
	#define <...>
#else
	#ifdef __LANG_Lithuanian__
		#define <...>
	#else
		#define <...>
	#endif
#endif

Jei norisi/reikia labiau „tradicinio“, plokščio varianto, tai:

#ifdef __LANG_Russian__ // arba  #if defined(__LANG_Russian__ )
	<...>
#elif defined(__LANG_Lithuanian__)
	<...>
#elif defined(__LANG_BlaBlabBla1__)
	<...>
#elif defined(...)
	<...>
#elif defined(__LANG_BlaBlabBlaX__)
	<...>
#else
	<...>
#endif


3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser