Skocz do zawartości

Oddity

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Oddity's Achievements

Newbie

Newbie (1/14)

0

Reputacja

  1. Oddity

    ini

    Jest jeszcze jeden problem. Program po prostu nie znajduje pliku. WritePrivateProfileString("Personality","next","0","C:\settings.ini") ; GetPrivateProfileString("Personality","next",NULL,Buffor,2,"C:\settings.ini"); Podana jest ścieżka dostępu w formie c:\settings.ini. Ukośnik powoduje, że następna litera, w tym przypadku 's', traktowana jest jako znak kontrolny '\s'. Spróbuj dać: "c:\\settings.ini". Powinno działać.
  2. Od redakcji Każdy kiedyś zaczynał. A brak doświadczenia to nie powód, żeby kogoś obrażać. Radzimy opamiętać się na przyszłość
  3. Oddity

    .net

    Dziwne, o ile sie orientuje to w VC++ 7.0 nowy projekt bazujący na .net framework tworzy sie poprzez File->New->Project->Managed C++ Application. A moze masz jakis inny kompilator?
  4. Oddity

    .net

    Napisz najpierw w jaki sposób tworzysz nowy projekt .net
  5. Oddity

    yo

    Chdzilo mi o to, Czakol, ze jezeli programujesz na platforme .net, to nie mozesz uzywac wizualnych metod projektowania okien dialogowych, wszystko tworzysz z poziomu kodu. Natomiast jezeli tworzysz w WinAPI, nie spotkasz sie z tym problemem. Pozdrawiam.
  6. Oddity

    TAK

    Sprawdź czy nie masz przypadkiem kodu obsługującego WM_PAINT, jednak nie pobierającego uchwytu urządzenia i zwracającego true, tzn: WM_PAINT: return true ;
  7. bool _ftoa (TCHAR *szStr, double d) { if (!szStr) return false ; gcvt (d, 15, szStr) ; if (szStr [lstrlen (szStr) - 1] == '.') szStr [lstrlen (szStr) - 1] = '\0' ; return true ; } float v ; TCHAR szV [32] ; _ftoa (szV, (double) v) ; wsprintf (buf, TEXT ("wynik = %s mag"), szV) ; Spróbuj w ten sposób. Pozdrawiam.
  8. Oddity

    zamykanie komputera

    Zwróc uwagę na ten fragment dokumentacji funkcji InitiateSystemShutdown: Kiedyś pisałem podobny program dla szkolnej sieci (Win ME). Na każdym komputerze uruchomiona była mała aplikacja, z którą łączyło się z głównego komputera i wysyłało polecenie wyłączenia systemu. Pozdrawiam
  9. Oddity

    Virtual Memory

    Pamięć wirtualna jest tworzona po to, aby nie doszło do sytuacji, gdy brakuje RAM-u. Czy Twój program znajdzie się w VM, czy w rzeczywistym RAM-ie, zależy od systemu i nie masz na to wpływu (oczywiście im mniejszy program, tym bardziej prawdopodobne, że znajdzie się w RAM). Z poziomu aplikacji nie ma żadnego rozróżnienia pomiędzy pamięcią fizyczną a wirtualną. Otrzymujesz wskaźniki wirtualne, które wskazują na pamięć wirtualną. Na wskaźniki rzeczywiste konwertuje je Windows. A tak na marginesie, możliwość ingerencji przez program w pamięć ogólnodostępną w środowisku wielozadaniowym byłaby swoistą bombą zegarową. Wyobraź sobie zwykłe przepełnienie bufora, po którym w pamięci umieszczone są dane systemowe lub kernel. Mały błąd w programie i crash całego systemu? Tak, tak by to właśnie wyglądało. Jeśli chodzi o alokowanie dużej ilości pamięci, to nie ma problemu. Jeśli chcesz, możesz sobie zaalokować 2GB, jeśli wystarczy Ci na to miejsca na dysku. Na koniec powtórze jeszcze jedno: w programie nie rozróżniasz RAM/Virtual Memory. Nie możesz zadecydować, gdzie przechowywana będzie zmienna. Robi to za Ciebie system operacyjny (i całe szczęście). Wskaźnik to wskaźnik, jego dokładną wartością nie musisz się martwić.
  10. Oddity

    pamięć

    Windows przydziela każdemu programowi wirtualną przestrzeń adresową. Każdy program działa w oddzielnym, prywatnym bloku pamięci, dlatego uruchamiając program po raz n-ty, dostajesz te same adresy. Pozdrawiam
  11. Oddity

    XP Themes

    Zdarzyło mi się raz w życiu uruchomić C++ Buildera :-) O ile dobrze pamiętam, wystarczy tylko dodać plik .xml. Zdaje mi się, że Builder domyślnie wywołuje InitCommonControls.
  12. Oddity

    XP Themes

    A wywołałeś funkcję InitCommonControls?
  13. Oddity

    Wersja Windows

    Wyrwane żywcem z dokumentacji: The GetVersion function returns the current version number of Windows and information about the operating system platform. This function has been superseded by GetVersionEx, which is the preferred method for obtaining system version number information. New applications should use GetVersionEx. The GetVersionEx function was developed because many existing Windows applications err when examining the DWORD return value of a GetVersion function call, transposing the major and minor version numbers packed into that DWORD. The GetVersionEx function forces applications to explicitly examine each element of version information, and allows for future enhancements to that information. DWORD GetVersion(VOID) Parameters This function has no parameters. Return Values If the function succeeds, the return value is a DWORD value that contains the major and minor version numbers of Windows in the low order word, and information about the operating system platform in the high order word. For all platforms, the low order word contains the version number of Windows. The low-order byte of this word specifies the major version number, in hexadecimal notation. The high-order byte specifies the minor version (revision) number, in hexadecimal notation. To distinguish between operating system platforms, use the high order bit and the low order byte, as shown in the following table: Platform High order bit Low order byte (major version number) Windows NT zero 3 or 4 Windows 95 1 4 Win32s with Windows 3.1 1 3 For Windows NT and Win32s, the remaining bits in the high order word specify the build number. For Windows 95 the remaining bits of the high order word are reserved. Remarks This function does not return the current version number of MS-DOS. The following code fragment illustrates how to extract information from the GetVersion return value: dwVersion = GetVersion(); // Get major and minor version numbers of Windows dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); dwWindowsMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion))); // Get build numbers for Windows NT or Win32s if (dwVersion < 0x80000000) // Windows NT dwBuild = (DWORD)(HIWORD(dwVersion)); else if (dwWindowsMajorVersion < 4) // Win32s dwBuild = (DWORD)(HIWORD(dwVersion) & ~0x8000); else // Windows 95 -- No build numbers provided dwBuild = 0; See Also GetVersionEx
  14. Oddity

    subclassing

    Subclassing
×
×
  • Utwórz nowe...