25. maj 2002 - 12:25Der er
4 kommentarer og 3 løsninger
3 hurtige fra hoften...
Har lige 3 hurtige sprøgsmål:
(Bruger Borland C++ Builder 5 aka BCB)
1. Hvordan konverterer man man en DWORD-variable til en String-variable?
2. Hvordan gør man en label til et link? (Jeg har et link til min hjemmeside på min About-form i mit program, og jeg vil gerne have, at hvis man trykker på den label, hvor adressen står så åbnes default browseren og siden vises.)
3. Hvordan får man fingrene i projekts version @ runtime? (Hvis man aktiverer Version-styring under Project|Options i BCB kan man sætte hvilke version af programmet man arbejder med. Denne version vil jeg gerne have til at stå på min About-form, og jeg vil gerne slippe for at skulle ændre det både i Project|Options og på About Box'en, hvor gang at jeg ændre i versionen.)
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
1. En DWORD kan ikke typecastes til en string, men hvis du har en variable af typen DWORD, så kan du via IntToStr() funktionen konvertere værdien til en AnsiString.
2. I OnClick event'en implementerer du en shellexecute.
3. Version nummer ligger i projektets ressource fil.
c = GetFileVersionInfoSize(ParamStr(0).c_str(), &dw); p = new char[c + 1]; /file://create the space GetFileVersionInfo(ParamStr(0).c_str(),0,c,p);//get the version info data
/// Extract the language/translation information... VerQueryValue(p, TEXT("\\VarFileInfo\\Translation"), &ptr, &ui);
/// ptr comes back as a ptr to two (16-bit) words containing the two halves of /// the translation number required for StringFileInfo WORD *id=(WORD*)ptr; String sBase = String( "\\StringFileInfo\\")+ IntToHex(id[0],4) + IntToHex(id[1],4) + "\\"; String qs = sBase + sQuery ; // query string VerQueryValue(p, qs.c_str(), &ptr, &ui); sOut = (char*)ptr; delete [] p; return sOut; }
///and the calls Comments->Caption=VersionInfo("Comments"); Copyright->Caption=VersionInfo("LegalCopyright"); ProductName->Caption=VersionInfo("ProductName"); Version->Caption="Version: " + VersionInfo("FileVersion");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.