Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254

Не работает кнопка

04.03.2013, 17:30. Показов 2583. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код программы:
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
27
28
29
30
31
32
33
34
35
36
37
//---------------------------------------------------------------------------
#include <stdio.h>
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "sBitBtn"
#pragma link "sEdit"
#pragma link "sLabel"
#pragma link "sMemo"
#pragma link "sButton"
#pragma resource "*.dfm"
TForm1 *Form1;
FILE *work;
char *path;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::SaveClick(TObject *Sender)
{
Txt->Text=0;
strcpy(path, Day->Text.c_str());
strcat(path, "-");
strcat(path, Month->Text.c_str());
strcat(path, "-");
strcat(path, Year->Text.c_str());
strcat(path, ".dpf");
work=fopen(path, "w");
fprintf(work, "%s", Txt->Text);
}
//---------------------------------------------------------------------------
На этапе компиляции выдаёт Warning:
Code
1
[C++ Warning] Unit1.cpp(5): W8058 Cannot create pre-compiled header: write failed
При попытке нажать на кнопку "Save" выдаёт ошибку как на картинке.
Миниатюры
Не работает кнопка  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2013, 17:30
Ответы с готовыми решениями:

Не работает кнопка Ctrl + левая кнопка мыши в Excel
Не работает кнопка ctrl + левая кнопка мыши в excel.Не выделяются ячейки.Хотя на рабочем столе или в любой папке выделяются любые несколько...

Не работает кнопка "ответить" в комментариях. + не работает AJAX обновление при добавление комментария
Проблемы эти начались после обновления движка с 9.8 до 10.5. Все загрузил, все поставил, шаблон отредактировал, но, видать, неправильно :)...

Калькулятор. Кнопка "+" работает как кнопка "=", а не должна
Суть проблемы в том что кнопка &quot;+&quot; работает по принципу &quot;=&quot;, то есть мы будем нажимать 5+5+++++, в итоге будет результат не 10, а 35. В...

15
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
04.03.2013, 18:15
Не выделил память под указатель path
1
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
04.03.2013, 19:02  [ТС]
Спасибо!
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.03.2013, 22:15
Цитата Сообщение от ComputerMouse Посмотреть сообщение
strcpy(path, Day->Text.c_str());
Опасно ...

Добавлено через 1 минуту
Или у вас Builder6 ?
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
04.03.2013, 22:29  [ТС]
Да, 6
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.03.2013, 22:33
А ну тогда нормально...
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
04.03.2013, 23:20  [ТС]
Хмм... Опять тоже самое, только после "Write on adress" число другое.
Полный код:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//---------------------------------------------------------------------------
#include <stdio.h>
//#include <iostream>
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "sBitBtn"
#pragma link "sEdit"
#pragma link "sLabel"
#pragma link "sMemo"
#pragma link "sButton"
#pragma resource "*.dfm"
TForm1 *Form1;
FILE *work;
char path [200];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::SaveClick(TObject *Sender)
{
strcpy(path, "DATA\\");
strcat(path, Day->Text.c_str());
strcat(path, "-");
strcat(path, Month->Text.c_str());
strcat(path, "-");
strcat(path, Year->Text.c_str());
strcat(path, ".dpf");
work=fopen(path, "w");
fprintf(work, "%s", Txt->Text);
fclose (work);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::LoadClick(TObject *Sender)
{
SYSTEMTIME st;
GetSystemTime(&st);
strcpy(path, "DATA\\");
if (st.wDay>=10)
{
strcat(path, IntToStr(st.wDay).c_str());
}
else
{
strcat(path, "0");
strcat(path, IntToStr(st.wDay).c_str());
}
strcat(path, "-");
if (st.wMonth >=10)
{
strcat(path, IntToStr(st.wMonth).c_str());
}
else
{
strcat(path, "0"); strcat(path, IntToStr(st.wMonth).c_str());
}
strcat(path, "-");
strcat(path, IntToStr(st.wYear).c_str());
strcat(path, ".dpf");
Txt->Text=path;
    if((work = fopen(path, "rb")) == NULL){
        Txt->Text="Óðà! Íè÷åãî íå íàäî äåëàòü!\n";
        Month->Text=path;
    }
    else{
    fopen(path, "rb");
    Txt->Text=path;
    fseek(work, 0L, SEEK_END);
    long size = ftell(work);
    fseek(work, 0L, SEEK_SET);
    char* buf = (char*)malloc(sizeof(char) * size);
    fread(buf, 1, size, work);
    Txt->Text=buf;
    free(buf);
    fclose(work);
    }
}
//---------------------------------------------------------------------------
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
05.03.2013, 13:12
На глаз проверил, заметил следующее:
74-я строчка:
C++
1
fopen(path, "rb");
замени на
C++
1
work = fopen(path, "rb");
1
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
11.03.2013, 21:12  [ТС]
Ооооййй... Спасибо!

Добавлено через 6 минут
Однако дело не в этом. Ошибка-то где-то здесь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::SaveClick(TObject *Sender)
{
strcpy(path, "DATA\\");
strcat(path, Day->Text.c_str());
strcat(path, "-");
strcat(path, Month->Text.c_str());
strcat(path, "-");
strcat(path, Year->Text.c_str());
strcat(path, ".dpf");
work=fopen(path, "w");
fprintf(work, "%s", Txt->Text);
fclose (work);
}
А тут всё с самого начала нормально.

Добавлено через 3 часа 17 минут
Причём ошибка в строке 4, но где?..
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.03.2013, 00:40
Цитата Сообщение от ComputerMouse Посмотреть сообщение
Причём ошибка в строке 4, но где?..
Ошибка не в строке, а в отсутствии каталога DATA. Если хотите этими средствами (stdio.h), то сначала нужно создать каталог на диске, прежде чем в него записывать.
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
12.03.2013, 08:52  [ТС]
Ну да, я понял. Сейчас попробую найти как "чистым" способом создать каталог, а то мой
C++
1
system("md DATA");
открывает консоль, и вообще некрасиво.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.03.2013, 10:21
C++
1
2
3
4
5
6
/*  #include <dir.h>  */
  _mkdir("DATA\\"); Sleep(20); 
  strcpy(path, "DATA\\");
strcat(path, Day->Text.c_str());
strcat(path, "-");
strcat(path, Month->Text.c_str());
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
12.03.2013, 10:24  [ТС]
Эммм...
C++
1
MkDir("DATA");
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.03.2013, 10:28
Вообще-то все это можно короче записать__
C++
1
2
3
work=fopen(("DATA\\"+Day->Text+"-"+Month->Text+"-"+Year->Text+".dpf").c_str(),"w");
fprintf(work, "%s", Txt->Text);
fclose (work);
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
12.03.2013, 13:54  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
Sleep(20);
Зачем?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.03.2013, 15:27
Цитата Сообщение от ComputerMouse Посмотреть сообщение
Зачем?
каталог моментально не создается; попробуйте без этого, может у вас пройдет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.03.2013, 15:27
Помогаю со студенческими работами здесь

Кнопка не работает ;D
Пытался отправить на стену сообщение вконтакте. кнопку не могу заставить хотя бы что то сделать. она молчит. почему?? procedure...

Не работает кнопка
Должна отправлять сообщение на стену пользователя вк . void Button1Click(object sender, EventArgs e) { ...

Не работает кнопка
При нажатии на кнопку все что в форме должно записываться в XML Файл. Выдает ошибку: &quot;Значение не может быть неопределенным. Имя...

НЕ работает Кнопка
Я много нашел таких тем, облазил форум (может пропустил какой-то), но мувик молчит вполную. Сначало думал что код в мувике не работает, но...

Не работает кнопка
Здравствуйте. Есть три кнопки: &quot;показати приклад&quot;, &quot;показати код прикладу&quot;, &quot;приховати&quot;. функции с которыми связаны кнопки: ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru