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.)
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.