Форум сетевых администраторов
Показаны 3 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Другие (http://netadmin.ws/forum/forumdisplay.php?forumid=19)
-- Помогите с прогой (http://netadmin.ws/forum/showthread.php?threadid=1207)


Помещено Steve 05-05-2002 в 09:22:

Помогите с прогой

Помогите с прогой

Помогите написать прогу которая далала бы следующая:
надо сделать так, чтобы как только в папке появляется файл с определенным именем прога переименовывает его в 1.bmp , когда появляется снова в 2.bmp
и т.д
Действия:
Я копирую прогу в папку с файлом, запускаю ее и указываю имя файла которое надо будет переименовать, и нажимаю старт

и она автоматически переименовывает этот файл в 1.bmp , когда файл появляется снова в 2.bmp

на любом языке главное чтобы работала под Win XP

__________________
--------------------------------------
<<<< Steve >>>>


Помещено Eugine_A 31-05-2002 в 13:57:

#include <io.h>
#include <stdio.h>
#include <string.h>

#define MAXFILE 100

void main(int argc, char* argv[]){
int i;
char filename[12];
if(argc>1 && (!strcmp(argv[1],"-h") || !strcmp(argv[1],"/h") || !strcmp(argv[1],"/?"))){
printf("Usage: <program> <filename>\n");
}
else if(argc==2){
if(access(argv[1],0) == 0){
for(i=1;i<MAXFILE;i++){
sprintf(filename,"%i.bmp",i);
if(access(filename,0) == -1){
if(rename(argv[1],filename) == -1){
printf("ERROR:Can't rename %s into %s.\n",argv[1],filename);
}
break;
}
}
}
else{
// File doesn't exists
}
}
}

проверка наличия файла и преименование происходит каждый раз после запуска. После проверки / переименования программа завершает работу.

__________________
С уважением,
Евгений


Помещено Eugine_A 31-05-2002 в 14:08:

Если надо чтобы программа висела в памяти и делала проверку на наличие нового файла, то делается небольшая доработка:

1)добавить в начале #include <dos.h>
2)после else if(argc==2){
вставляется while(1){
3)после
else{
// File doesn't exists
}
добавить
sleep(60); // Sleep 60 seconds
}

если надо чтобы программа заканчивала корректно работу по нажатию какой-либо кнопки, то замени while(1) на while(!kbhit())
и добавить в начало #include <conio.h>

__________________
С уважением,
Евгений


Формат времени GMT. Текущее время 02:51.
Показаны 3 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.