Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9.912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Beiträge von Klotzkopp

  1. <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Poldi:

    <STRONG>probiers mal mit printf

    printf("%c\n",310);</STRONG>

    Der ASCII-Code geht nicht bis 310. Das Ergebnis ist "6", genau wie bei printf("%c\n",54);

    <FONT COLOR="#a62a2a" SIZE="1">[ 18. Dezember 2001 10:03: Beitrag 1 mal editiert, zuletzt von Klotzkopp ]</font>

  2. Das Bildschirmlöschen unter C ist ohnehin so eine Sache. C kennt keine Shells oder Konsolen, deshalb gibt es immer nur plattformabhängige Lösungen.

    Je nach Plattform kann es sein, dass es eine clrscr()-Funktion gibt. Die wird dann in der Regel in der conio.h deklariert. Das ist weder ein ANSI- noch ein POSIX-Standard, und Microsoft kennt das auch nicht.

    In einer Konsolenanwendung unter Windows kann man aber z.B. mit

    system( "cls" );

    den Bildschirm löschen.

    Siehe auch:

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q99261

  3. <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Woodstock:

    <STRONG>cout << "\033[2J";</STRONG>

    Ich befürchte, das wird nur mit geladenem ANSI.SYS funktionieren.

  4. Ich kenne keinen Zeit-Datentyp, der 6 Uhr als 0.25 darstellt. Hast Du Dir den selbst definiert :confused:

    Hast Du Now() selbst geschrieben?

    Willst Du den veränderten Zeitwert nur anzeigen, oder wird damit später noch was anderes gemacht?

  5. Aus Deinem Code werde ich nicht schlau. Was meinst Du mit 0.25?

    Auf jeden Fall kannst Du auf einer Win32-Plattform einen Zeit-String über den VARIANT-Umweg in einen SYSTEMTIME konvertieren.

    SYSTEMTIME st;

    VARIANT var;

    WCHAR* pszBeispiel = L"17.12.2001 10:43:00";

    VariantInit( &var );

    var.vt = VT_BSTR;

    var.bstrVal = ::SysAllocString( pszBeispiel );

    VariantChangeType( &var, &var, 0, VT_DATE );

    VariantTimeToSystemTime( var.date, &st );

    VariantClear( &var );

    Danach steht die Zeit in st. Sicherheitshalber solltest Du den Rückgabewert von VariantChangeType abfragen.

  6. Wenn Du Dein CBitmap-Objekt in der OnInitDialog deklarierst, dann beschränkt sich der Scope (Gültigkeitsraum) des Objekts auf diese Methode. Das Objekt wird zerstört, sobald OnInitDialog beendet wird. Gleiches gilt für den Konstruktor.

    Wenn Dein CBitmap-Objekt solange existieren soll wie Deine Dialogklasse selbst, dann musst Du es als Member Deiner Klasse deklarieren:

    In HhhDlg.h:

    class CHhhDlg : public CDialog

    {

    ...

    protected:

    CBitmap m_bitmap;

    ...

    };

    In HhhDlg.cpp:

    BOOL CHhhDlg::OnInitDialog()

    {

    ...

    m_bitmap.LoadBitmap( IDB_BITMAP1 );

    ...

    }

    void CHhhDlg::OnButton1()

    {

    ...

    m_picCtl.SetBitmap( m_bitmap );

    ...

    }

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> Beim Versuch nicht nur SetBitmap sondern auch LoadBitmap komplett in der OnButton1() Methode abzuwickeln erscheint dann leider das Bitmap nicht mehr !

    Kannst Du den betreffenden Code mal hier posten?

  7. Du könntest die CBitmap-Instanz (oder einen Zeiger darauf) als Member deiner Fenster- oder Dialogklasse hinzufügen. Einfacher ist aber, die Bitmap erst in der OnClick-Methode laden:

    Ohne CBitmap:

    m_picCtl.SetBitmap( ::LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP1)) );

    Oder mit CBitmap:

    CBitmap bitmap;

    bitmap.LoadBitmap( IDB_BITMAP1 );

    m_picCtl.SetBitmap( bitmap );

  8. <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von ElektroUli:

    <STRONG>Weiss nicht, ob ich das auf die Schnelle scharf genug bedenke, aber es kommt mir so vor, dass es Probleme gibt, wenn bei val das MSB gesetzt ist. Bei einem unsigned int mit 16 Bit laeuft i bis 14 und 2<<14 == 1000 0000 0000 0000. Das ist kleiner als als z. B. 1000 0000 0000 0001. Fuer alle i>14 ist wird 2<<i Null; und das ist ebenfalls kleiner als val. Ergo Endlosschleife. Oder?</STRONG>

    Richtig.

    Val hat zwar ein Vorzeichen. Wenn das MSB gesetzt ist, dann ist val negativ, und damit ist (2<<i)<=val schon für i == 0 falsch. Die Funktion tut gar nichts.

    Allerdings ist das nur Schmerzverlagerungstherapie. Die Endlosschleife tritt auf, wenn das zweithöchste Bit gesetzt ist. Es war sogar noch ein anderer Fehler drin. Daher jetzt die korrigierte Fassung:

    void Dec2Bin(int val)
    {
    bool fOneFound = false;
    for( int i = sizeof(int) * 8 - 1; i >= 0; i-- ) {
    if( !fOneFound && ( val & ( 1<<i ) ) ) fOneFound = true;
    if( fOneFound || !i ) fputc((val & ( 1<<i)) ? '1':'0', stdout);
    }
    }[/code]

  9. <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von BlearSun:

    <STRONG>Ich denke, dass C++ viel mehr für systemnahe Programmierungen geeignet ist aber wenn es um Datenbankentwicklung geht, dann kann C nicht mithalten und VB ist einfach die bessere und stärkere Alternative!

    </STRONG>

    VB kann nie die Flexibilität erreichen, die beispielsweise die ATL OLEDB Consumer Templates bieten. Klar, die Handhabung ist anfangs etwas schwierig, aber das legt sich.

    VB ist klasse, wenn z.B. die Ergebnisse einer Abfrage direkt in ein Frontend gepackt werden sollen. Aber darüber hinaus stößt man schnell an die Grenzen. Versuch mal, mit VB ein Word-Dokument (keine .doc-Datei) in eine Datenbank zu packen.

  10. Es sieht nur so aus, als ob was vertauscht würde, tatsächlich wird rotiert. Es wird von einer Matrix zur nächsten jeweils nach rechts und unten rotiert, und was rechts und unten rausfällt, kommt links und oben wieder dran. Wenn Du den Vorgang auf die letzte Matrix anwendest, erhältst Du wieder die erste.

    Leg einfach die letzte Matrix mal in ein 2x2-Muster aneinander, dann sieht man in der Mitte wieder die Ursprungsmatrix.

  11. Unter Win32:

    BOOL MoveFile(

    LPCTSTR lpExistingFileName, // file name

    LPCTSTR lpNewFileName // new file name

    );

    oder mit system, z.B.:

    system( "ren alt.txt neu.txt" );

    <FONT COLOR="#a62a2a" SIZE="1">[ 03. Dezember 2001 15:45: Beitrag 1 mal editiert, zuletzt von Klotzkopp ]</font>

  12. Hi Cleo!

    Solange Du nicht sagst, in welcher Form Euer firmeninternes Entwicklungstool die Dialoge und Register bereitstellt, wird Dir niemand helfen können. "Frames" ist wenig aussagekräftig, da hilft auch ein Pflichtenheft nicht.

    Erstellt das Tool Textdateien, die man parsen könnte, importierbare Ressourcendateien oder was ganz anderes?

    Niemand kann Dir eine Wegbeschreibung geben, wenn Du nicht sagst, wo Du herkommst ;)

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...