Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 17.09.2010
Сообщений: 38
1

Не могу исправить ошибку в коде.

09.12.2011, 20:00. Показов 960. Ответов 4
Метки нет (Все метки)

Не могу исправить ошибку в коде, а именно не могу в путь к файлу вставить переменную.

C++
1
2
3
4
5
6
7
8
9
10
11
12
// Получаю путь до %appdata%
AnsiString var="APPDATA";
char buf[MAX_PATH];
GetEnvironmentVariable(var.c_str(),buf,MAX_PATH);
Edit1->Text=buf;
 
// Перевожу AnsiString в Char, т.к. CopyFile кидал ошибку, когда просто вставлял buf (что то вроде "поддерживаю int, char и ещё что то")
AnsiString ed_txt = Edit1->Text;
char *a=ed_txt.c_str();
 
// Копирую файл
CopyFile(""+a+"\\folder\\file.dat","C:\\file.dat");
Сможет кто помочь подправить код? Просто раньше писал на visual basic 6, а там с этим намного проще xD
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2011, 20:00
Ответы с готовыми решениями:

Исправить ошибку в коде
#include <iostream.h> #include <math.h> int main() { float a,b,c; cin >> a,b,c; if...

Исправить ошибку в коде программы
В чём дело - в c++ Builder 6 всё отлично работает, а в Embarcadero беда. Как исправить.?...

Не могу исправить ошибки в коде
Парни, помогите пожалуйста ошибки в коде исправить. Всё что мог - исправил. Остальные никак не...

Исправить ошибку в коде: E2040 Declaration terminated incorrectly
Ошибка указывает на первую строку, не могу понять Unit2.cpp(160): E2040 Declaration terminated...

4
LK
Заблокирован
09.12.2011, 20:13 2
своими словами: куда путь надо получить ?
0
2 / 2 / 0
Регистрация: 17.09.2010
Сообщений: 38
09.12.2011, 20:28  [ТС] 3
ну я же написал в коде:
"// Получаю путь до %appdata%"

ну в общем в appdata лежит папка, в ней файл, я его копирую на диск С.
Путь до appdata хранится в buf, так вот как мне вставить buf в путь CopyFile(""+a+"\\folder\\file.dat","C:\\file.dat");
почему стоит "а" написано в коде.

если знаешь Vb6, то хочу реализовать это, только на с++ :
PureBasic
1
2
3
4
5
' получаю путь до appdata
path = Environ("appdata")
' копирую файл
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "" + path + "\folder\file.exe", C:\file.exe"
(код может не совсем верный, т.к. Пишу по памяти, но суть понятна)
вот тут путь до appdata в переменной path, и в пути вместо например: C:/Users/%User%/AppData (на win7 и XP пути ведь разные), просто пишу эту переменную, вот тоже самое хочу сделать на с++, н оне знаю как... Вот и спрашиваю))) Надюсь меня поняли))
0
LK
Заблокирован
09.12.2011, 20:40 4
вот здесь : Функция выдает ошибку при автозапуске , только заменить 0х29 на 0х001a == CSIDL_APPDATA
1
2 / 2 / 0
Регистрация: 17.09.2010
Сообщений: 38
09.12.2011, 22:25  [ТС] 5
Спасибо, но сделал всё таки по другому)) Вот код, может потом кому пригодится:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 AnsiString var="APPDATA";
 char buf[MAX_PATH];
 GetEnvironmentVariable(var.c_str(),buf,MAX_PATH);
 Edit1->Text=buf;
 Edit1->Text=Edit1->Text+"\\Opera\\Opera\\wand.dat";
 
        const bool failIfExists = true;
        const String fileFrom = Edit1->Text;
        const String fileTo = "C:\\wand.dat";
 
CopyFile(fileFrom.c_str(),fileTo.c_str(), failIfExists);
 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2011, 22:25

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Не могу исправить ошибку....
Помогите найти ошибку.... void __fastcall TForm1::btnSetTownsClick(TObject *Sender) { int i; ...

Не могу исправить ошибку...
Помогите найти ошибку: void __fastcall TForm1::txtHandlerKeyPress(TObject *Sender, char &Key) {...

Не могу исправить ошибку Е2316
Здравствуйте! При компилировании выдает одну ошибку: "E2316 '_fastcall...

Не могу исправить ошибку. программа в с++
Нужно ввести в компонент едит температуру погоды, и нажать кнопку "сохранить". чтобы сохранить...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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