![]() |
|
|
|
|
|
|
|
|
|
WinDiff
|
HexTools
|
CIni, MFC
|
CSharedMemory
|
CFinder
|
Hex-Calculator
|
UnixToWin
|
links
|
Also was gibt’s..
Eine Menge HTML für mich zu lernen, um dieser Seite mal ein vernünftiges
Aussehen zu geben.
In den Jahren 2003 und 2004 bin ich MVP für VC++ gewesen.
Also wieder zum Thema. Ein paar nützliche Sachen hab ich auch parat:
Mir hat immer eine DDX_ - Funktion
für die hexadezimale oder bitweise Bearbeitung von Variablen in den Editfeldern
gefehlt. Also selbst ans Werk. Was mir vom Aufwand nicht sonderlich gefällt,
ist das typische Vorgehen: Controlvariable mit dem Classwizard erzeugen, Die
CStatic in CMyControl umbenennen , Den Control-Header im Dlg-Header includen ,
Eventuell eine zweite DDX_MyControl hinzufügen :(
Wenn es geht beschränke ich mich auf das Includen der "MyControl.h" im
Source-File und einer DDX_MyControl
So auch bei CBitWnd und CHexText. Das Subclassing und die allocierung übernimmt
die DDX_BitWnd() Bei CBitWnd handelt es sich um ein Control für die bitweise
Bearbeitung von Variablen. Unabhängig von der DDX_HexText nutze ich die
statischen Funktionen:
CString CHexText::Hex2Ascii(CString& strSource); CString CHexText::Ascii2Hex(CString& strSource);ständig für allerlei sonstige Anzeigen.
void CMyClass::CUpdateIni(BOOL bFromIni)
{
CIni ini(strFileName,strSection);
SER_GET(bFromIni,m_strMyVariable);
SER_GETD(bFromIni,m_nMyValue,123);
SER_ARR(bFromIni,m_arMyArray,10);
CIniSample.zip [24 kb] VC 6.0 Demoprojek
void DeleteEntry(LPCSTR szEntry, LPCSTR strSection = NULL); //Deletes szEntry in the current Section void DeleteSection(LPCSTR strSection = NULL);//Deletes all entries in the Section
Kurzes Beispiel für die Verwendung von Shared Memory via
FileMapping
#include "CSharedMemory.h"
//Instance of SharedMemoryBlock
CSharedMemory m_sm;
..
//Init the SharedMemoryBlock
m_sm.Init("MyScharedMemory",256/*bytes*/);
..
//
char* pSharedString = (char*)m_sm.GetData()
..
{
// prevent other processes from accessing
//the SharedMemoryBlock..
CSharedMemory::Locker locker(m_sm);
// Read ore write somthing
ModifySomthing(pSharedString);
}
Das ist eine Anwendung, die ich eigendlich immer am Laufen
habe, wenn ich am PC Sitze. Er funktioniert wie ein HP-Taschenrechner. Es ist
halt ein gewachsenes Produkt. Die Größenänderung habe ich noch über
EnumChildWindows()realisiert, es gibt aber inzwischen bei Codeguru eine bessere
Klasse: DlgResizeHelper.
Ein kleiner Editor, um Text-Dateien wahlweise mit "CR LF" oder
"LF" zu öffnen oder zu speichern. Welches andere Tool das auch kann, sag ich
lieber nicht :-)
Links:
CodeGuru Umfangreiche Bibliothekt mit freien C++/MFC SourcenNewsgroup:
microsoft.public.de.vc
|
seit 13.06.01: |
Top
|
Mail: Schiko@Schikos.de. |