Juz raz pisałem na tym forum ale temat trafił do bezuzytecznych a ja nadal mam problem,
postaram się lepiej opisać mój problem
Załozenia:
program, ma otworzyć plik.txt i zapisać dane do tablicy tylko, ze dane w plik.txt wygladają nast.
1000,VK_UP
3000,VK_DOWN
wiec musze najpierw rozdzielic separator(,) i zapisac do odpowiednich kolumn
następnie program wykonuje nacisniecia klawiszów w odpowiednich czasach
i mam problem z typami danych, CO NIE ZMIENIE TO JEST bład
daje cały kod:
#include <windows.h>
#include <iostream>
#include <fstream>
char move( std::string time, std::string przycisk ) {
keybd_event( przycisk, 0, 0, 0 );
std::cout << "Wykonywanie ruchu!";
Sleep( time );
keybd_event( przycisk, 0, KEYEVENTF_KEYUP, 0 );
}
std::string magic( const std::string & str, const char ch, const unsigned int v )
{
std::string ret = "";
for( size_t i = 0, tmp = 0; i < str.size(); ++i ) {
if( str[ i ] == ch ) {
if( tmp > v ) break;
else ++tmp;
}
else if( tmp == v ) ret += str[ i ];
}
return ret;
}
std::string tab[ 8 ][ 2 ];
void wczytaj()
{
std::ifstream in( "plik.txt" );
int licznik = 1;
std::string wers[ 100 ];
while( getline( in, wers[ licznik ] ) ) {
tab[ 1 ][ 0 ] = magic( wers[ licznik ], ',', 0 );
tab[ 1 ][ 1 ] = magic( wers[ licznik ], ',', 1 );
licznik++;
}
}
int main()
{
HWND hWnd = GetActiveWindow();
std::cout << "TESCIK";
Sleep( 5000 );
int i;
for( i = 0; i <= 10; i++ )
{
move( tab[ i ][ 0 ], tab[ i ][ 1 ] );
std::cout << "RUCH";
}
}
C:\Documents and Settings\Administrator\Pulpit\BOT\Source\moje.cpp In function 'char move(std::string, std::string)':
6 29 C:\Documents and Settings\Administrator\Pulpit\BOT\Source\moje.cpp [Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'BYTE {aka unsigned char}' for argument '1' to 'void keybd_event(BYTE, BYTE, DWORD, DWORD)'
8 13 C:\Documents and Settings\Administrator\Pulpit\BOT\Source\moje.cpp [Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'DWORD {aka long unsigned int}' for argument '1' to 'void Sleep(DWORD)'
9 43 C:\Documents and Settings\Administrator\Pulpit\BOT\Source\moje.cpp [Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'BYTE {aka unsigned char}' for argument '1' to 'void keybd_event(BYTE, BYTE, DWORD, DWORD)'
Jak mam to zrobic naprawde kombinuje juz ze 2 dni i nic ;/
CAŁY KOD JEST POSKLEJANY DOPIERO UCZE SIĘ C++ !!!
Mam zły typ danych wiem! Tylko jakikolwiek typ danych powoduje u mnie błąd! Kombinuje z tym od 2 dni prosze mnie przynajmniej jakos naprowadzic :(