Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прокрутка окна в DOS 
:(
    Опции темы
eldarovich
Дата 6.7.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.6.2006
Где: Оренбург

Репутация: нет
Всего: нет



Мужики помогите чем можете  Короче borland C++, прога под DOS. Прогамма типа 
Цитата

препод писал(а):    
имитирует работу файлового менеджера компьютера, т.е. создание, удаление файлов и папок, просмотр содержимого жесткого диска и т.д., реализовать графический интерфейс    


вот короче кусок кода который выводит содеоржимое введенной папки 

Код

void print() 
{ 
  char path[100]; 
  cout << "Vvedite papku dla vyvoda "; 
  strset(path,'\0'); 
  cin >> path; 
  char p[104]={'d','i','r',' '}; 
  system(strcat(p,path)); 
  chdir(path); 
}    


проблема в том что этот список фаqлов не прокручивается  Помогите пожалуйста реализовать прокручиваемый список, можно в отдельном окошке 
PM MAIL ICQ   Вверх
srd
Дата 7.7.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Ой, не уверен, что ты делаешь то, что написано в задании  smile Ну ладно, вот тебе "односторонняя" прокрутка с тем же фокусом, что и у тебя (т.е. вызов команд через system). А если ты найдешь dos-версию программы less, то будет тебе и настоящая прокрутка smile

Код

void print() 
{ 
    string path;
    cout << "Vvedite papku dla vyvoda ";  
    cin >> path;   

    system((string("dir ") + path + " | more").c_str()); 
    chdir(path.c_str());
} 

 

Это сообщение отредактировал(а) srd - 7.7.2006, 13:02


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
eldarovich
Дата 7.7.2006, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.6.2006
Где: Оренбург

Репутация: нет
Всего: нет



гм, переделай пожалуста это же не без типа string, функций string(), .c_str(), path.c_str(), Borland C++ их просто не знает даже при подключении string.h 
PM MAIL ICQ   Вверх
srd
Дата 9.7.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Борланда у меня нет, чтоб проверить. Но вроде бы такое он должен скомпилировать:
Код

void print(void)
{
    char path[260];
    char command[271];

    printf("Vvedite papku dla vyvoda ");
    scanf("%259s", path);

    snprintf(command, 270, "dir %s | more", path);
    system(command);
    chdir(command);
}

 


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
eldarovich
Дата 10.7.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.6.2006
Где: Оренбург

Репутация: нет
Всего: нет



неа, не знает он функции snprintf.... короче я реализовал это таким способом 
Код

void print()
{
 char path[100],*a,*b;
 char p[104]={'d','i','r',' '};
 char s[105]={' ','|',' ','m','o','r','e'};
 cout << "Vvedite papku dla vyvoda ";
 strset(path,'\0');
 cin >> path;
 a = strcat(p,path);
 b = strcat(a,s);
 system(b);
}

вот только на универском компе не прет, пишет мало памяти... что бы это могло быть 
PM MAIL ICQ   Вверх
Romikgy
Дата 10.7.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



ужасть  smile 
Код

void print()    
{    
 char path[100],a[255],b[255];    
 char p[]="dir ";    
 char s[]=" |more";    
 cout << "Vvedite papku dla vyvoda ";    
 strset(path,'\0');    
 cin >> path;    
 a = strcat(p,path);    
 b = strcat(a,s);    
 system(b);    
}

хотя бы так 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
eldarovich
Дата 11.7.2006, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 1.6.2006
Где: Оренбург

Репутация: нет
Всего: нет



Romikgy
неее, у тебя не правильно! будет страшный глюк когда первый раз код работает наромально а при повторном выхове уже не работает! выглядеть команда будет примерно так(ввожим C:\temp) - 1-й раз dir C:\temp |more , а 2-й раз dir C:\temp |moreC:\temp и все, НИЧЕГО нельзя сделать, чего только не пробовали и очищать все что можно и нельзя, и с указателями игрались, короче пришли к единственно верному но корявому с виду решению... 
PM MAIL ICQ   Вверх
bsa
Дата 11.7.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Ошибка элементарная!!!
Код
void print()    
{    
    char path[100],a[255];    
    const char p[]="dir ";    
    const char s[]=" |more";    
    cout << "Vvedite papku dla vyvoda ";    
    strset(path,'\0');
    cin >> path;    
    strcpy(a, p);
    strcat(a, path);    
    strcat(a, s);    
    system(a);    
}

strcat(char *dest, const char *src): результат: dest = dest + src; 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.