Brauche eine Funktion die 6 Zahlen einliest und diese in einer Liste abspeichert.



  • out schrieb:

    #include <fstream>
    #include <vector>
    using namespace std;
    
    int main()
    {
     ifstream file("config.txt");
     vector<int> zahlen;
     for(int i; file>>i; zahlen.push_back(i));
    }
    
    std::ifstream file("config.txt");
    std::vector<int> zahlen(std::istream_iterator<int>(file), std::istream_iterator<int>());
    

    🤡



  • Danke, allerdings funktioniert es immer noch nicht.
    Er klickt immer oben links in der Ecke also auf Position 0,0

    void getConfig()
    {
      ifstream file("config.txt");
      vector<int> listxy;
      for(int i; file>>i; listxy.push_back(i));
    }
    
    int main()
    {    
        getConfig();
        [...]
        mausklick();
        [...]
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    void mausklick()
    {    
         SetCursorPos(listxy[0],listxy[1]);
         mouse_event(MOUSEEVENTF_LEFTDOWN,listxy[0],listxy[1],0,0);
         mouse_event(MOUSEEVENTF_LEFTUP,listxy[0],listxy[1],0,0);
    
         seconds=605;
         wait();
    

    Das Programm hat funktioniert als ich statt "listxy[1]" z.B. 354 eingegeben hab. Und genau das soll er jetzt auch tun nur das ich die Position eben in der config.txt festgelegt habe...

    Lg
    Dm3xD



  • Sonne, ich hab deinen Beitrag noch nicht gelesen gehabt. Ich werds gleich ausprobieren. Danke.
    Dm3xD



  • Ich finde es richtig schlimm, dass du zwar schon grafisch die Maus herumschubsten willst, aber nichtmal die simple Datei Ein- und Ausgabe beherrschst.

    Mein Tipp an dich:
    Arbeitete dich erstmal durch die Grundlagen einer Programmiersprache.



  • So hier nochmal:

    [code]void getConfig()
    {
      std::ifstream file("config.txt");
      std::vector<int> listxy(std::istream_iterator<int>(file), std::istream_iterator<int>());
      for(int i; file>>i; listxy.push_back(i));
    }
    

    [/code]

    und er sagt als Fehlermeldung beim Compilieren:

    30 `istream_iterator' is not a member of `std'
    30 expected primary-expression before "int"
    30 `istream_iterator' is not a member of `std'
    30 expected primary-expression before "int"



  • " "



  • Programmierfachprofi schrieb:

    Ich finde es richtig schlimm, dass du zwar schon grafisch die Maus herumschubsten willst, aber nichtmal die simple Datei Ein- und Ausgabe beherrschst.

    Mein Tipp an dich:
    Arbeitete dich erstmal durch die Grundlagen einer Programmiersprache.

    Ich bin gut ohne die Sachen ausgekommen ... bisland 😛
    Danke ^^
    Dm3xD



  • Dm3xD schrieb:

    So hier nochmal:

    [code]void getConfig()
    {
      std::ifstream file("config.txt");
      std::vector<int> listxy(std::istream_iterator<int>(file), std::istream_iterator<int>());
      for(int i; file>>i; listxy.push_back(i));
    }
    

    [/code]

    und er sagt als Fehlermeldung beim Compilieren:

    30 `istream_iterator' is not a member of `std'
    30 expected primary-expression before "int"
    30 `istream_iterator' is not a member of `std'
    30 expected primary-expression before "int"

    Du vergisst <iterator> einzubinden.
    Außerdem ist Zeile 3 in der main() unnötig! Meins war ein kompletter Ersatz von outs Version.



  • habe alles so gemacht wie ich sollte:

    #include <cstdlib>
    #include <iostream.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <time.h>
    #include <fstream>
    #include <stdexcept>
    #include <vector>
    #include <interator>
    

    alles included 😉

    void getConfig()
    {
      std::ifstream file("config.txt");
      std::vector<int> listxy(std::istream_iterator<int>(file), std::istream_iterator<int>());
      for(int i; file>>i; listxy.push_back(i));
    }
    

    Funktion sollte doch auch so sein wie hier oder?

    und trotzdem 2 Fehlermeldungen beim kompilieren... was is denn jetzt falsch???

    31 `istream_iterator' is not a member of `std'
    31 expected primary-expression before "int"

    es liegt warscheinlich auch einfach an mir aber wenn du noch en Vorschlag hast 😃
    Dm3xD



  • habe alles so gemacht wie ich sollte:

    #include <interator>

    alles included

    Ganz sicher?



  • Hallo Dm3xD,

    void getConfig()
    {
      ifstream file("config.txt");
      vector<int> listxy;
      for(int i; file>>i; listxy.push_back(i));
    } // <== hier wird mit Verlassen des Scopes das Objekt 'listxy' gelöscht und damit gehen die eingelesenen Daten verloren
    
    void mausklick()
    {    
         SetCursorPos(listxy[0],listxy[1]); // <== wo ist 'listxy' definiert? - Du verwendest doch nicht etwa globale Variablen?
         mouse_event(MOUSEEVENTF_LEFTDOWN,listxy[0],listxy[1],0,0);
         mouse_event(MOUSEEVENTF_LEFTUP,listxy[0],listxy[1],0,0);
    
         seconds=605;
         wait();
    

    Die Variable listxy in mausklick hat mit der Variable listxy in getConfig nichts zu tun.

    Tipp: arbeite Dich zunächst in die Grundlagen einer Programmiersprache ein.

    :xmas2: Werner



  • @Dm3xD
    Hinweis:
    mouse_event ist eine veraltete WIN API Funktion benutzt lieber SendInput.

    mouse_event
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspx

    MSDN schrieb:

    Note This function has been superseded. Use SendInput instead.

    SendInput:
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx


Anmelden zum Antworten