6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
1

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

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

Author24 — интернет-сервис помощи студентам
Код программы:
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:
Код
[C++ Warning] Unit1.cpp(5): W8058 Cannot create pre-compiled header: write failed
При попытке нажать на кнопку "Save" выдаёт ошибку как на картинке.
Миниатюры
Не работает кнопка  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2013, 17:30
Ответы с готовыми решениями:

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

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

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

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

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

Добавлено через 1 минуту
Или у вас Builder6 ?
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
04.03.2013, 22:29  [ТС] 5
Да, 6
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.03.2013, 22:33 6
А ну тогда нормально...
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
04.03.2013, 23:20  [ТС] 7
Хмм... Опять тоже самое, только после "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
1123 / 794 / 101
Регистрация: 01.02.2011
Сообщений: 1,878
Записей в блоге: 1
05.03.2013, 13:12 8
На глаз проверил, заметил следующее:
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  [ТС] 9
Ооооййй... Спасибо!

Добавлено через 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
Практикантроп
4823 / 2717 / 524
Регистрация: 23.09.2011
Сообщений: 5,777
12.03.2013, 00:40 10
Цитата Сообщение от ComputerMouse Посмотреть сообщение
Причём ошибка в строке 4, но где?..
Ошибка не в строке, а в отсутствии каталога DATA. Если хотите этими средствами (stdio.h), то сначала нужно создать каталог на диске, прежде чем в него записывать.
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
12.03.2013, 08:52  [ТС] 11
Ну да, я понял. Сейчас попробую найти как "чистым" способом создать каталог, а то мой
C++
1
system("md DATA");
открывает консоль, и вообще некрасиво.
0
Практикантроп
4823 / 2717 / 524
Регистрация: 23.09.2011
Сообщений: 5,777
12.03.2013, 10:21 12
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  [ТС] 13
Эммм...
C++
1
MkDir("DATA");
0
Практикантроп
4823 / 2717 / 524
Регистрация: 23.09.2011
Сообщений: 5,777
12.03.2013, 10:28 14
Вообще-то все это можно короче записать__
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  [ТС] 15
Цитата Сообщение от nick42 Посмотреть сообщение
Sleep(20);
Зачем?
0
Практикантроп
4823 / 2717 / 524
Регистрация: 23.09.2011
Сообщений: 5,777
12.03.2013, 15:27 16
Цитата Сообщение от ComputerMouse Посмотреть сообщение
Зачем?
каталог моментально не создается; попробуйте без этого, может у вас пройдет...
0
12.03.2013, 15:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2013, 15:27
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru