Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
43 / 13 / 1
Регистрация: 20.08.2012
Сообщений: 788

Записная книжка

05.12.2014, 21:41. Показов 4153. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как сделать так что бы я записывал допустим имя в Edit подробности в memo и фотку в image нажимал на кнопку создать и это все записывалось в текстовый документ уже заранее созданный в корне программы, а потом в combobox можно было бы выбрать какую то запись из этого текстового документа и и информация подгружалась бы в нужные поля.
конечно можно и сохранение сделать, но что то не клеиться вообще ничего
Помогите это реализовать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2014, 21:41
Ответы с готовыми решениями:

Книжка-самоучитель по c++ builder
Можете сказать мне название достойной книжки-самоучителя по c++ builder 6, по которой кто то, кто сидит на форуме реально стал...

Записная книжка
Здравствуйте. Помогите запустить проект "записная книжка", проект взят из книжки C++ Builder, автор Культин. В C++ Buildere не очень...

Записная книжка
Добрый день. Иммется подобие записной книжки с фамилиями и номерами телефонов. Изначальная задача была в поиске номера через ввод фамилии в...

29
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
06.12.2014, 17:39
Студворк — интернет-сервис помощи студентам
По моему вы себе смутно представляете что вообще должна делать ваша прога.
Я бы сделал так.
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <string>
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonAddClick(TObject *Sender)
{
ComboBox1->Items->Add(Edit1->Text);
ComboBox1->Text=Edit1->Text;
ButtonEditClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonEditClick(TObject *Sender)
{
    String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    Memo1->Lines->SaveToFile(FileName+".txt");
    Image1->Picture->SaveToFile(FileName+".bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonDelClick(TObject *Sender)
{
    String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    if(FileExists(FileName+".txt"))
        DeleteFile(FileName+".txt");
    if(FileExists(FileName+".bmp"))
        DeleteFile(FileName+".bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonExitClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
    String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    Memo1->Lines->LoadFromFile(FileName+".txt");
    Image1->Picture->LoadFromFile(FileName+".bmp");
}
/
Осталось только при загруске проги сканировать папку на файлы и добавлять их в комбобокс.

Добавлено через 4 минуты
Еще наверно нужна проверка при добавлении что в комбобокс нет такой записи, а при удалении нужно удалять запись еще из комбобокса. А можно просто каждый раз перезаполнять комбобокс сканируя файлы заново.
1
43 / 13 / 1
Регистрация: 20.08.2012
Сообщений: 788
06.12.2014, 18:29  [ТС]
gumi250,
Задача изначально была создать записную книжку используя memo, combobox, edit, 3 кнопки :удалить, добавить, редактировать.

А по вашему варианту не удаляет почему то(

А функций сканирования папки и загрузка изображений все равно не понятна(

Добавлено через 16 минут
Нашел вот такое в принципе подходит, только когда я пытаюсь заменить memo на combobox ругается
C++
1
2
3
4
5
6
7
void __fastcall TForm2::Button1Click(TObject *Sender)
{
  TSearchRec sr;
  for(int r=FindFirst("C:\\*.txt*",faDirectory,sr);!r;r=FindNext(sr))
  Memo1->Lines->Add(sr.Name);
  FindClose(sr);
}
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
06.12.2014, 18:49
Лучший ответ Сообщение было отмечено ArxangelXA как решение

Решение

Ну както так. Удалет то что написано в комбобоксе.
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
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    LoadComboBox();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonAddClick(TObject *Sender)
{
    ComboBox1->Items->Add(Edit1->Text);
    ComboBox1->Text=Edit1->Text;
    ButtonEditClick(Sender);
    LoadComboBox();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonEditClick(TObject *Sender)
{
    String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    Memo1->Lines->SaveToFile(FileName+".txt");
    Image1->Picture->SaveToFile(FileName+".bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonDelClick(TObject *Sender)
{
    String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    if(FileExists(FileName+".txt"))
        DeleteFile(FileName+".txt");
    if(FileExists(FileName+".bmp"))
        DeleteFile(FileName+".bmp");
    LoadComboBox();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonExitClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
    String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    if(FileExists(FileName+".txt"))
        Memo1->Lines->LoadFromFile(FileName+".txt");
    if(FileExists(FileName+".bmp"))
        Image1->Picture->LoadFromFile(FileName+".bmp");
}
//---------------------------------------------------------------------------
void TForm1::LoadComboBox()
{
    ComboBox1->Clear();
    String FFrom=ExtractFileDir(Application->ExeName)+"\\*.txt";
    TSearchRec sr;
    for(int r=FindFirst(FFrom,faDirectory,sr);!r;r=FindNext(sr))
        ComboBox1->Items->Add(ChangeFileExt(sr.Name,""));
    FindClose(sr);
}
//---------------------------------------------------------------------------
1
43 / 13 / 1
Регистрация: 20.08.2012
Сообщений: 788
06.12.2014, 19:00  [ТС]
написал
C++
1
2
3
4
5
6
7
void __fastcall TForm2::Button1Click(TObject *Sender)
{
  TSearchRec sr;
  for(int r=FindFirst("C:\\*.txt*",faDirectory,sr);!r;r=FindNext(sr))
  ComboBox1->Items->Add(sr.Name);
  FindClose(sr);
}
подгружает только при выборе файла выдает ошибку((

так же написал

C++
1
2
3
4
5
6
#include <jpeg.hpp>
#include <GIFImg.hpp>
void __fastcall TForm2::ButtonUploadClick(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.jpeg");
}
но при нажатий выдает тоже ошибку

Добавлено через 4 минуты
gumi250, А откуда обработчик void TForm1::LoadComboBox()

Добавлено через 1 минуту
говорит ошибка
C++
1
LoadComboBox();
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
06.12.2014, 19:05
Цитата Сообщение от ArxangelXA Посмотреть сообщение
gumi250, А откуда обработчик void TForm1::LoadComboBox()
дополнительный метод
Какую ошибку выдает, в какой строке? Ваши Бмп какието странные, их имедж не грузит, я другие взял, с другими у меня все ок.

Добавлено через 1 минуту
Ну так вы код который я выще приводил с LoadComboBox(); себе перепешите.
1
43 / 13 / 1
Регистрация: 20.08.2012
Сообщений: 788
06.12.2014, 19:15  [ТС]
gumi250,
именно ваш код и загрузил, я просто все с нуля создал
Кликните здесь для просмотра всего текста
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
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <string>
#include "Unit2.h"
#include <jpeg.hpp>
#include <GIFImg.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
LoadComboBox();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ButtonAddClick(TObject *Sender)
{
   ComboBox1->Items->Add(Edit1->Text);
   ComboBox1->Text=Edit1->Text;
   ButtonEditClick(Sender);
   LoadComboBox();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ButtonEditClick(TObject *Sender)
{
    String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    Memo1->Lines->SaveToFile(FileName+".txt");
    Image1->Picture->SaveToFile(FileName+".bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ButtonDelClick(TObject *Sender)
{
String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    if(FileExists(FileName+".txt"))
        DeleteFile(FileName+".txt");
    if(FileExists(FileName+".bmp"))
        DeleteFile(FileName+".bmp");
    LoadComboBox();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ComboBox1Change(TObject *Sender)
{
 String FileName=ExtractFileDir(Application->ExeName)+"\\"+ComboBox1->Text;
    if(FileExists(FileName+".txt"))
        Memo1->Lines->LoadFromFile(FileName+".txt");
    if(FileExists(FileName+".bmp"))
        Image1->Picture->LoadFromFile(FileName+".bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ButtonExitClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------
 
/* void __fastcall TForm2::ButtonScanClick(TObject *Sender)
{
  TSearchRec sr;
  for(int r=FindFirst("C:\\*.txt*",faDirectory,sr);!r;r=FindNext(sr))
  ComboBox1->Items->Add(sr.Name);
  FindClose(sr);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm2::ButtonUploadClick(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.jpeg");
}      */
//---------------------------------------------------------------------------
void TForm1::LoadComboBox()
{
    ComboBox1->Clear();
    String FFrom=ExtractFileDir(Application->ExeName)+"\\*.txt";
    TSearchRec sr;
    for(int r=FindFirst(FFrom,faDirectory,sr);!r;r=FindNext(sr))
        ComboBox1->Items->Add(ChangeFileExt(sr.Name,""));
    FindClose(sr);
}


это просто вставил не знаю как такой обработчик вызвать(
C++
1
void TForm1::LoadComboBox()
ошибка
Кликните здесь для просмотра всего текста
[bcc32 Error] Unit2.cpp(18): E2268 Call to undefined function 'LoadComboBox'
Full parser context
Unit2.cpp(16): parsing: _fastcall TForm2::TForm2(TComponent *)
[bcc32 Error] Unit2.cpp(26): E2268 Call to undefined function 'LoadComboBox'
Full parser context
Unit2.cpp(22): parsing: void _fastcall TForm2::ButtonAddClick(TObject *)
[bcc32 Error] Unit2.cpp(43): E2268 Call to undefined function 'LoadComboBox'
Full parser context
Unit2.cpp(37): parsing: void _fastcall TForm2::ButtonDelClick(TObject *)
[bcc32 Error] Unit2.cpp(75): E2090 Qualifier 'TForm1' is not a class or namespace name
[bcc32 Error] Unit2.cpp(75): E2040 Declaration terminated incorrectly
Failed


Добавлено через 4 минуты
А bmp я просто урезал что бы были маленькие или он сам размер подгоняет под область?
А jpg можно?
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
07.12.2014, 02:32
Лучший ответ Сообщение было отмечено ArxangelXA как решение

Решение

А в h файл LoadComboBox() добавлять А.С. Пушкин будет?
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
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Dialogs.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <jpeg.hpp>
#include <GIFImg.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TEdit *Edit1;
    TMemo *Memo1;
    TButton *ButtonAdd;
    TButton *ButtonEdit;
    TButton *ButtonDel;
    TComboBox *ComboBox1;
    TLabel *Label1;
    TButton *ButtonExit;
    TLabel *Label2;
    TSaveDialog *SaveDialog1;
    TImage *Image1;
    void __fastcall ButtonAddClick(TObject *Sender);
    void __fastcall ButtonEditClick(TObject *Sender);
    void __fastcall ButtonDelClick(TObject *Sender);
    void __fastcall ButtonExitClick(TObject *Sender);
    void __fastcall ComboBox1Change(TObject *Sender);
private:    // User declarations
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
    void LoadComboBox();
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
и jpg можно. Инклуды добавлять нужно в h-файл. Вы хоть немножко книги по С++ почитайте.
1
43 / 13 / 1
Регистрация: 20.08.2012
Сообщений: 788
07.12.2014, 15:07  [ТС]
gumi250, Да я искал что подключить не нашел. Да и все равно почему то не работает(
Projects.rar
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
07.12.2014, 15:19
Хоть чуток про С++ почитайте. Я же ведь уже готовый код даже написал, вы его даже скопировать толком не можете. В h-файл нужно добавить строку void LoadComboBox(); (35 строка в коде выше). В cpp фале в 85 строке void TForm1::LoadComboBox() заменить TForm1 на TForm2.
1
43 / 13 / 1
Регистрация: 20.08.2012
Сообщений: 788
07.12.2014, 15:56  [ТС]
gumi250, Большое спасибо все работает)) Очень вам благодарен за помощь. Теперь сам постараюсь разобраться с изображениями.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2014, 15:56
Помогаю со студенческими работами здесь

Записная книжка
Дана записная книжка которая состоит из знакомых. Знакомый - человек, у которого есть фамилия и номер телефона. Формат ее следующий. ...

Записная книжка
Считая, что на каждой странице записной книжки указаны фамилии, начинающиеся с одной и той же буквы-индекса этой страницы, описать...

Записная книжка
Помогите, пожалуйста. В среде Microsoft Visual Studio создать проект WindowsFormApplication записная книжка «Notebook». Реализовать в...

записная книжка
срочно, нужна хоть какая-нибудь помощь.. Написать программу «Моя записная книжка». Каждая запись в телефонной книге содержит: фамилию...

Записная Книжка
Привет прграмисты!У меня к вам очень большая просьба,ни у кого случайно нету исходников &quot;Записной Книжки&quot;.


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru