Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
prank2007
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 64
#1

Не могу разобратсья с функцией SaveToFile - C++

01.10.2012, 13:07. Просмотров 542. Ответов 5
Метки нет (Все метки)

у меня есть программа, которая загружает изображение , пользователь его меняет, а затем сохраняет. Как сделать чтоб первая картинка сохранялась с именем "1.bmp", вторая "2.bmp", третья "3.bmp" и т.д.
я написал так:
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 
for (int a=1; a <= 100; a++) {
 
Image3->Picture->SaveToFile("a.bmp");
}
}
результат сохраняется с именем "а",а не "1". Как исправить???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 13:07     Не могу разобратсья с функцией SaveToFile
Посмотрите здесь:

Не могу справиться с функцией с++ istringstream - C++
В общем, изначальный код был таков: #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;sstream&gt; #include...

Не могу разобраться с функцией fseek - C++
Вот код #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) ...

Не могу справится с последней функцией - C++
Уважаемые форумчане! Прошу не пинать меня если вопрос окажется элементарным или я его не задал не там где надо. Ну в общем у меня такое...

не могу сделать программу с указателями на массив и с функцией - C++
такая &quot;беда&quot; впервые столкнулся с указателями,в них чайник.. вот код задание--вывести массив,сделать так,чтоб к этому массиву...

Не могу вывести на экран строку, переданную по указателю функцией - C++
Вот такой несложный код. Функция copyString просто копирует строку. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace...

не могу разобраться функцией систем("") - C++
system(&quot;Findstr word dbaze.txt&quot;);- так он находит слово... а мне нужно что бы ос слово запросил... это возможно? или нужно...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
01.10.2012, 16:54     Не могу разобратсья с функцией SaveToFile #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//для простоты  используем класс строки из стандартной библиотэки
#include <string> 
#include  <stdio.h>
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
std::string filename;
filename.reserve(8);//имя файла
 
char buf [4] = {0};
char extension [] = ".bmp"; //расширение
 
for (int a=1; a <= 100; a++) 
 {
 snprintf(buf, 4, "%d", a); //переводим цифру в символы
 filename.append(buf); //формируем имя файла
 filename.append(extension); //приклеиваем расширение
 Image3->Picture->SaveToFile(filename.c_str()); //сохраняем
 filename.clear(); //очищаем имя файла
 }
 
}
Вот пример формирования имени файла
prank2007
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 64
01.10.2012, 17:05  [ТС]     Не могу разобратсья с функцией SaveToFile #3
спасибо что хоть немного помогли, но результат немного не такой. получается 1.bmp , 1.bmp2.bmp, 1.bmp2.bmp3.bmp и т.д. а надо 1.bmp , 2.bmp, 3.bmp .....
Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
01.10.2012, 17:06     Не могу разобратсья с функцией SaveToFile #4
prank2007, просто скопируй целиком код. возможно я исправлял пока ты проверял. а возможно ты внес изменения


по ссылке выход формирования имени ВОТ

выше он интегрирован в твою форму. сохранять будет 100 файлов с именами от 1, до 100.bmp

filename.clear(); //очищаем имя файла

это очень важная строка, не пропускай ее. Без нее как раз и будет приклеивание новых имен файлов.
Эта строка нужна для очистки старого имени файла
prank2007
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 64
01.10.2012, 17:50  [ТС]     Не могу разобратсья с функцией SaveToFile #5
Спасибо, это работает. а как сделать, чтобы при первом нажатии кнопки сохранялся только 1.бмп, при втором нажатии 2.бмп, при десятом 10.бмп и т.д.??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2012, 18:01     Не могу разобратсья с функцией SaveToFile
Еще ссылки по теме:

помогите с функцией С++ - C++
написать встроенную функцию которая возвращает количество бит со значением 0 ,число типа short помогите плиз у кого время есть :)

Работа с функцией - C++
Описать функцию smooth(A,n), заменяющую каждый элемент вещественного массива A размера n на его среднее арифметическое со своими соседями...

Функцией добавления - C++
Не могу понять в чем проблема, размер массива увеличивается, а хранится в нем системный мусор, а не информация. int addGame (int...

Ошибка с функцией - C++
Дан текст. Найти сумму имеющихся в нем чисел. Функция отдельно работает(в качестве отдельной программы). Сама программа без функции тоже....

Помогите с функцией. - C++
Кто-нибудь может мне объяснить как правильно задавать функцию, как правильно к ней обращаться ? Буду очень благодарен.

Помогите с функцией - C++
нужно написать и протестирувать функцию, котороя определяет ли входит буква в заданою строку


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
01.10.2012, 18:01     Не могу разобратсья с функцией SaveToFile #6
prank2007, ввести счетчик нажатий, который будет ++ внутри обработки нажатия.
только он должен находится вне тела функции либо быть статическим. Цикл в таком случае не нужен
например


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//для простоты  используем класс строки из стандартной библиотэки
#include <string> 
#include  <stdio.h>
 
int a = 0; //это счетчик определен либо как поле класса либо как глобальная переменная, либо можно как static int внутри тела функции обработчика
 
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
std::string filename;
filename.reserve(8);//имя файла
 
 a++; // при попадании в обработчик нажатия счетчик увеличивается на 1
//цикла больше нет
 
char buf [4] = {0};
char extension [] = ".bmp"; //расширение
 
 snprintf(buf, 4, "%d", a); //переводим цифру в символы
 filename.append(buf); //формируем имя файла
 filename.append(extension); //приклеиваем расширение
 Image3->Picture->SaveToFile(filename.c_str()); //сохраняем
 filename.clear(); //очищаем имя файла
 
 
}
Yandex
Объявления
01.10.2012, 18:01     Не могу разобратсья с функцией SaveToFile
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru