RC-Map Login Suchen ||     zurück zur Portalseite

Du bist nicht eingeloggt!

Nur als registriertes Mitglied vom offroad-CULT Forum hast Du vollen Zugriff auf alle Funktionen unserer Community. Du kannst Mitglied werden, indem du dich hier registrierst!

"Tip of the day"-Programm gesucht

Schnellnavigation:
offroad-CULT Forum » Offtopic - Plauderecke » "Tip of the day"-Programm gesucht » Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter

  • Dieses Thema bookmarken bei:  Bei Del.icio.us bookmarken Bei Mister Wong bookmarken Yigg It! Digg It!
  • Beiträge der letzten Zeit anzeigen:   

  • Neues Thema eröffnen   Neue Antwort erstellen   
    Autor Nachricht
    FlyingGekko
    Globaler Moderator



    Anmeldedatum: 01.06.2003
    Beiträge: 4521
    Wohnort: Linz/ Urfahr

    BeitragVerfasst am: 30.09.2012, 17:52    Titel:
    Mir ist gerade was aufgefallen. Für den Fall das EOF bereits am Ende der letzten Zeile (und nicht wie üblich in einer neuen Leerzeile) steht muss der obige Text noch um ein paar Zeilen erweitert werden, da sonst die letzte Zeile ignoriert wird.

    Code:
    if(flag==1) {
      cnt++;
    }


    mfg Stephan
    Nach oben
    Cody227
    CULT-Urgestein
    CULT-Urgestein



    Anmeldedatum: 03.05.2011
    Beiträge: 1217
    Wohnort: Hamburg

    BeitragVerfasst am: 30.09.2012, 22:21    Titel:
    Und woher weiss getchar() auf welche datei es zugreifen muss? Kommt davor noch eine funktion, die die datei "öffnet" oder so ähnlich?

    Ich hab jetzt ne methode die funktioniert, aber ich muss noch das problem lösen, dass ich nur die erste zeile der datei ausgelesen bekomme.
    Nach oben
    FlyingGekko
    Globaler Moderator



    Anmeldedatum: 01.06.2003
    Beiträge: 4521
    Wohnort: Linz/ Urfahr

    BeitragVerfasst am: 30.09.2012, 22:56    Titel:
    Ich habe vorausgesetzt, dass du die Datei bereits geöffnet hast. getchar() stellt also nur eine Pseudofunktion (quasi ein Platzhalter) für deine Lösung dar. Der Code soll dir ja auch nur die Idee vermitteln.
    Nach oben
    FlyingGekko
    Globaler Moderator



    Anmeldedatum: 01.06.2003
    Beiträge: 4521
    Wohnort: Linz/ Urfahr

    BeitragVerfasst am: 02.10.2012, 13:40    Titel:
    Gehts voran? Wenn nicht kannst du ja hier mal den bereits erstellten Code posten.

    mfg Stephan
    Nach oben
    Cody227
    CULT-Urgestein
    CULT-Urgestein



    Anmeldedatum: 03.05.2011
    Beiträge: 1217
    Wohnort: Hamburg

    BeitragVerfasst am: 02.10.2012, 14:01    Titel:
    Hab noch nicht viel weiter gemacht. aber ich kann ja mal posten was ich schon so habe:

    main.cpp:

    Zitat:
    #ifndef _WIN32_WINNT //////////////////////////////////////
    #define _WIN32_WINNT 0x0500 //muss definiert sein, damit neuere funktionen zur verfügung stehen undzwar VOR <windows>
    #endif //////////////////////////////////////

    #include <windows>
    #include "header.h"
    #include <string>
    #include <fstream>
    #include <iostream>
    using namespace std;
    /* Declare Windows procedure */
    LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

    /* Make the class name into a global variable */
    char szClassName[ ] = "WindowsApp";

    int WINAPI WinMain (HINSTANCE hThisInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpszArgument,
    int nFunsterStil)

    {
    HWND hwnd; /* This is the handle for our window */
    MSG messages; /* Here messages to the application are saved */
    WNDCLASSEX wincl; /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
    wincl.style = CS_DBLCLKS; /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = MAKEINTRESOURCE(IDR_MENU) ; /* das menü */
    wincl.cbClsExtra = 0; /* No extra bytes after the window class */
    wincl.cbWndExtra = 0; /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
    return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
    0, /* Extended possibilites for variation */
    szClassName, /* Classname */
    "Windows App", /* Title Text */
    WS_OVERLAPPEDWINDOW, /* default window */
    CW_USEDEFAULT, /* Windows decides the position */
    CW_USEDEFAULT, /* where the window ends up on the screen */
    800, /* The programs width */
    600, /* and height in pixels */
    HWND_DESKTOP, /* The window is a child-window to desktop */
    NULL, /* No menu */
    hThisInstance, /* Program Instance handler */
    NULL /* No Window Creation data */
    );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
    /* Translate virtual-key messages into character messages */
    TranslateMessage(&messages);
    /* Send message to WindowProcedure */
    DispatchMessage(&messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
    }


    /* This function is called by the Windows function DispatchMessage() */

    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    switch (message) /* handle the messages */
    {
    case WM_CREATE:
    hintergrundBMP = LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_HINTERGRUNDBMP)); //Hintergrund-Bitmap laden
    hButton = CreateWindow("button",
    "Tipp Des Tages", //Text auf dem Button
    WS_CHILD | WS_VISIBLE, //Eigenschaften
    330, 290, 130, 30, //Position und Größe
    hwnd, (HMENU)ID_BUTTON, //oder NULL
    ((LPCREATESTRUCT) lParam) -> hInstance,
    NULL);
    break;
    case WM_QUIT:
    break;
    case WM_PAINT:
    hDC = BeginPaint(hwnd, &ps);
    SelectObject(hDCbitmap, hintergrundBMP); //Die Bitmap auswählen und in das extra angelegte Bitmap-DC laden
    BitBlt (hDC, 0, 0, 800, 600, hDCbitmap, 0, 0, SRCCOPY); //Bitmap aufs BufferDC malen - DIE BITMAP BRAUCHT TROTZDEM EIN EIGENES DC!!!

    ReleaseDC(hwnd, hDCbitmap);
    ReleaseDC(hwnd, hDC); //DC wieder freigeben
    EndPaint(hwnd, &ps);
    break;
    case WM_DESTROY:
    DeleteObject(hintergrundBMP); //HintergrundBitmap am ende wieder löschen !WICHTIG!
    PostQuitMessage (0); /* send a WM_QUIT to the message queue */
    break;
    case WM_COMMAND:
    switch( LOWORD( wParam ) )
    {

    case ID_BUTTON:

    //hier kommt der ganze Kram zum auswählen des Tipps hin



    MessageBox(hwnd, "bla bla", "Tipp des Tages", MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
    break;
    }
    break;
    default: /* for messages that we don't deal with */
    return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
    }


    header.h
    Zitat:
    #include <windows>
    #include <string>
    #include <fstream>
    using namespace std;

    HBITMAP hintergrundBMP;
    HINSTANCE hInst;
    HWND hwnd; /* This is the handle for our window */
    PAINTSTRUCT ps;
    HDC hDC = GetDC(hwnd);
    HDC hDCbitmap = CreateCompatibleDC(hDC); //Die bitmap braucht erstmal ein eigenes DC bevor das richtige benutzt wird
    HFONT Schriftart = CreateFont(156, 91, 0, 00, //Schriftart erstellen und größe der Buchstaben festlegen
    FW_NORMAL,
    FALSE,
    FALSE,
    FALSE,
    ANSI_CHARSET,
    OUT_DEFAULT_PRECIS,
    CLIP_DEFAULT_PRECIS,
    DEFAULT_QUALITY, //normale Schriftqualität
    DEFAULT_PITCH | FF_ROMAN, //Times New Roman
    "Times New Roman");
    const char* HintergrundText = "Das hier ist ein Text";
    char AusgewaehlterTipp;
    char TippsAusDerTXT;

    ifstream file("Tipps.txt"); //Datei öffnen

    static HWND hButton; //handle für den Button

    string FileBuffer = "test"; //string zum speichern des Inhalts der Datei
    int AnzahlDerZeilenumbrueche;
    int index; //start index wo IndexOfAny anfangen soll zu suchen

    #define IDB_HINTERGRUNDBMP 1
    #define ID_INFO 2
    #define IDR_MENU 3
    #define ID_BUTTON 4


    ressource.rc
    Zitat:

    #include <windows>
    #include "header.h"

    IDB_HINTERGRUNDBMP BITMAP "Hintergrund.bmp" //die bitmap für den Hintergrund
    /////////////////////////////////////////////////////////
    IDR_MENU MENU
    BEGIN
    MENUITEM "Info", ID_INFO //infos über den Author usw.
    END
    /////////////////////////////////////////////////////////




    und das hier hab ich noch ausprobiert:

    Zitat:
    int a = 0;
    int b = 0;
    while(a < 16)
    {
    if(filebuffer[a] == '2'){ //filebuffer = text aus der datei
    b++; //b = anzahl der zweien im Text
    }
    a++; //a = index

    }


    //EDIT: 16 war die länge des teststrings den ich benutzt habe
    Nach oben
    FlyingGekko
    Globaler Moderator



    Anmeldedatum: 01.06.2003
    Beiträge: 4521
    Wohnort: Linz/ Urfahr

    BeitragVerfasst am: 02.10.2012, 14:34    Titel:
    Ehm was soll ich jetzt sagen. Kann es sein das du große Teile des Codes kopiert hast, ohne genau zu wissen was dieser bewirkt?

    Für die gewünschte Anwendung wirkt das alles schon sehr groß aufgeblasen. Aber vielleicht denk ich hier einfach auch zu simpel.
    Nach oben
    Cody227
    CULT-Urgestein
    CULT-Urgestein



    Anmeldedatum: 03.05.2011
    Beiträge: 1217
    Wohnort: Hamburg

    BeitragVerfasst am: 02.10.2012, 14:43    Titel:
    Nein, das ist alles quasi aus dem Nichts entstanden. Also, ich hab mir die Funktionen die ich brauchte aus nem anderen Programm raus kopiert, dass ich früher mal gecoded habe. Das hat mir das nachgucken erspart, (ich kenn die ganzen Parameter der Funktionen ja nicht auswendig) und teilweise auch ein bisschen Schreibarbeit, weil ich hier vieles gleich machen musste wie im anderen Programm. Kann aber sein, dass vereinzelt noch Code-Fragmente vom double-buffering des anderen Programms da sind, die ich vergessen hab zu löschen. Aber aus dem Internet kopiert ist es definitiv nicht, denn das andere Programm hab ich ja auch aus dem nichts heraus selber geschrieben.

    EDIT: jetzt sind mir grad auch noch ein paar variablen aufgefallen, die aus dem anderen Programm mit übrig geblieben sind :/
    Nach oben
    FlyingGekko
    Globaler Moderator



    Anmeldedatum: 01.06.2003
    Beiträge: 4521
    Wohnort: Linz/ Urfahr

    BeitragVerfasst am: 02.10.2012, 14:46    Titel:
    Gut, dann wirst du da vermutlich auch Recht haben. Ist vermutlich ein anderer Zugang.
    Nach oben
    aaron
    Administrator



    Anmeldedatum: 15.01.2003
    Beiträge: 15344

    BeitragVerfasst am: 02.10.2012, 19:10    Titel:
    Wie siehts nun aus?
    _________________
    CULTiges:
    OC Usermap - tragt euch auf unserer Landkarte ein!
    The Ultimate STUGGY
    Mehr Extras für deine Homepage!
    Nach oben
    Cody227
    CULT-Urgestein
    CULT-Urgestein



    Anmeldedatum: 03.05.2011
    Beiträge: 1217
    Wohnort: Hamburg

    BeitragVerfasst am: 02.10.2012, 19:34    Titel:
    Wie gesagt, was ich schon fertig hab kannst du ja oben sehen. Mir fehlt im prinzip nur noch ne funktion um die komplette datei in einen string zu packen und dann müsste ich mit einer random-funktion eine zeile auswählen.

    Aber ich will erstmal versuchen heute noch ein Update für das Fahrzeiten-Management-Programm im RC-Glashaus zu machen, da wird nämlich morgen die neue Onroad-strecke eröffnet. Very Happy
    Nach oben
    Neues Thema eröffnen   Neue Antwort erstellen   

    Schnellnavigation:
    offroad-CULT Forum » Offtopic - Plauderecke » "Tip of the day"-Programm gesucht » Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter



    Gehe zu:  


     ::: Ähnliche Themen
    Autor Forum Antworten Verfasst am
    Keine neuen Beiträge "Beside the Race" - RC Rennsport mit anderen Augen Elektroman99 7 26.11.2019, 10:52
    Keine neuen Beiträge RC Vereine rund 35???? und Mitfahrer gesucht Thilok 0 17.08.2018, 18:42
    Keine neuen Beiträge Corally Revoc PRO 160 "Racing Factory" Regler corrtez 3 08.01.2018, 12:32
    Keine neuen Beiträge Server-Netzteil mit Poti gesucht florianz 7 11.12.2017, 19:33
    Keine neuen Beiträge 1:8 Regler 5s tauglich gesucht gravityjunkie 5 04.12.2017, 10:34

    » offroad-CULT:  Impressum