Hollosi Information eXchange /HIX/
HIX CODER 556
Copyright (C) HIX
1999-08-21
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 char, int, long (mind)  33 sor     (cikkei)
2 Re: Shortcut (mind)  70 sor     (cikkei)

+ - char, int, long (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok,

Lattom masok is belefutottak abba a problemaba, hogy a C hivatalosan csak
azt definialja, hogy a char<=int<=long, de azt nem, hogy ezek mekkorak
pontosan. Vagyis forditotol fugg, hogy melyik valtozo tipus hany bites.

Ezt szeritem (legallabis egyenlore) ugy lehet a legjobban megoldani, hogy az
eber vagy typedef-fel, vagy define-nal definial byte, word, dword, ...
valtozokat, melyeket az aktualis forditohoz mindig beallit, hogy most eppen
melyik mi legyen

Pl: BorlandC
  byte = unsigned char
  word = unsigned int = unsigned short
  dword= unsigned long

Djgpp
   byte = unsigned char
   word = unsigned short
   dword = unsigned int = unsigned long

A gond csak a printf parancsoknal lesz, mivel a %d az int-et var ami az
egyik rendszerben 16 bit, mig a masikban 32 bit, igy a parameterek nem
lesznek jok. Ennek javitasa pedig csak ugy lehet, hogy a printf-eknel az
ember mindig megadja a tipust is

Pl:  printf (" %d %ld",(int)valtozo1,(long)valtozo2);

Egyenlore nem igazan tudok jobb megoldast, ha valaki tobb fordito kozott
szeretne ugralni. De ha valakinek van jobb utlete azt szivesen latnam itt a
coderben.

Szasz Oliver
+ - Re: Shortcut (mind) VÁLASZ  Feladó: (cikkei)

On 16 Aug 1999 02:56:30 GMT, in hun.lists.hix.coder you wrote:

>Szevasztok Coderek!
>Tudna valaki egy olyan windows fuggvenyt, amely Shortcut-ot keszit. 

itt egy fuggveny (sajat krealmany, lehet majd szidni), ami a
parameterben megadott file-hoz keszit shortcutot az aktualis
konyvtarba (ha a megadott file mar eleve shortcut, akkor egyszeruen
atmasolja, ha mar van ilyen akkor zarojelben sorszamot rak a vegere,
meg ilyen finomsagok):

   BOOL CreateShortcut(LPSTR FromFile)
   {
      LPSTR Extension=FromFile+lstrlen(FromFile)-1;
      while(Extension!=FromFile && Extension[0]!='.' 
         && Extension[0]!='\\') Extension--;
      BOOL
Shortcut=!lstrcmpi(Extension,".lnk")||!lstrcmpi(Extension,".pif");
      TCHAR FileTitle[MAX_PATH];
      GetFileTitle(FromFile,FileTitle,MAX_PATH);
      DWORD ExeType=SHGetFileInfo(FromFile,0,0,NULL,SHGFI_EXETYPE);
      BOOL TryAgain=TRUE;
      for(UINT i=1; TryAgain; i++) {
         wsprintf(FileName, i>1 ? "%s (%d)" : "%s", FileTitle, i);

         if(!Shortcut) {
            if(!lstrcmp((TCHAR*)&ExeType,"MZ")) 
               lstrcat(FileName,".pif");
            else lstrcat(FileName,".lnk");
         } else lstrcat(FileName,Extension);
         WIN32_FIND_DATA FindData;
         HANDLE Handle=FindFirstFile(FileName,&FindData);
         if(Handle!=INVALID_HANDLE_VALUE)
            FindClose(Handle);
         else TryAgain=FALSE;
      };
      BOOL Valid=FALSE;
      if(Shortcut) {
         Valid=CopyFile(FromFile,FileName,TRUE);
      } else {
         HRESULT Result;
         IShellLink * ShellLink;
         Result=CoCreateInstance(CLSID_ShellLink,NULL,
            CLSCTX_INPROC_SERVER,IID_IShellLink,(LPVOID*)&ShellLink);
         if(SUCCEEDED(Result)) {
            IPersistFile * PersistFile;
            Result=ShellLink->QueryInterface(IID_IPersistFile,
               (LPVOID*)&PersistFile);
            if(SUCCEEDED(Result)) {
               ShellLink->SetPath(FromFile);
               WORD UnicodeFile[MAX_PATH];

MultiByteToWideChar(CP_ACP,0,FileName,-1,UnicodeFile,MAX_PATH);
               Result=PersistFile->Save(UnicodeFile,TRUE);
               PersistFile->Release();
               Valid=SUCCEEDED(Result);
            };
            ShellLink->Release();
         };
      };
      return Valid;
   };

remelem ki tudsz igazodni rajta, utalok kommentezni :-) egyebkent
BC-ben az OLE Knowledge Base illetve az OLE2 Online Help nevu
help-file-okat erdemes bongeszni, ha ilyesmi kell.

             :alvarez:
]:[http://www.adam.hu/alvarez]
 ... Sotetben a feny lassabban terjed!!!

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS