Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
1

Текстовый редактор, ассоциация файлов с приложением

02.02.2013, 14:35. Показов 1825. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем Сделал редактор текста, но при открытии им txt-файла открывается сам редакток но в Мемо ничего нету. Но если открыть редактор и уже из него открыть файл всё появляется.Нужно чтобы и первым способом открывался файл.Помогите решить такую проблемку.Danke
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2013, 14:35
Ответы с готовыми решениями:

Текстовый редактор. Открытие файлов
Подскажите плз, как исправить код, чтобы работал? Нужно чтобы при открытие нескольких файлов, все...

ассоциация файлов
всем доброго времени суток. прочитал много тем про это, но все же особо ничего и не понял....

Текстовый редактор
Я делаю текстовый редактор-задание по информатике. Мне нужно написать функцию найти в правке. Не...

Текстовый редактор
Разработка программы текстовый редактор В чем проблема не найду TeR.cpp #include <vcl.h>...

14
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
02.02.2013, 14:48 2
Gefallen. Вы ж ничего не показали. Это можно только предположить, что при перетаскивании txt-файла на значок вашего приложения оно (приложение) открывается с пустым Memo; или как-то наподобие. Тогда здесь причина в том, что при старте приложения не анализируются параметры строки запуска, где содержится путь к текстовому файлу.
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
02.02.2013, 14:54  [ТС] 3
Цитата Сообщение от nick42 Посмотреть сообщение
Gefallen. Вы ж ничего не показали. Это можно только предположить, что при перетаскивании txt-файла на значок вашего приложения оно (приложение) открывается с пустым Memo; или как-то наподобие. Тогда здесь причина в том, что при старте приложения не анализируются параметры строки запуска, где содержится путь к текстовому файлу.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Open1Click(TObject *Sender)
{
if (OpenDialog1->Execute())
 {Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Save1Click(TObject *Sender)
{
if (SaveDialog1->Execute())
{
 Memo1->Lines->SaveToFile(SaveDialog1->FileName);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Font1Click(TObject *Sender)
{
if (FontDialog1->Execute())
{
 Memo1->Font=FontDialog1->Font;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Clear1Click(TObject *Sender)
{
Memo1->Clear();
}
//---------------------------------------------------------------------------
 
 
 
 
void __fastcall TForm1::FormResize(TObject *Sender)
{
Memo1->Width=Form1->ClientWidth;
Memo1->Height=Form1->ClientHeight;
}
//---------------------------------------------------------------------------
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
02.02.2013, 15:18 4
Цитата Сообщение от Alkcatraz Посмотреть сообщение
при открытии им txt-файла открывается сам редакток но в Мемо ничего нету
Эту фразу как понимать? Что значит "при открытии им ... "?
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
02.02.2013, 15:20  [ТС] 5
Цитата Сообщение от nick42 Посмотреть сообщение
Эту фразу как понимать? Что значит "при открытии им ... "?
т.е выбираю файл-правой кнопкой мишы-открыть с помощью-и выбираю свою прогу
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
02.02.2013, 15:38 6
Тогда посмотрите на это__
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::FormShow(TObject *Sender)
{
 if (ParamCount > 0)
 {
   Label1->Caption = ParamStr(0) ;
   Label2->Caption = ParamStr(1) ;
  // Ñþäà ïîìåñòèòå Âàø êîä, àíàëèçèðóþùèé ParamStr(1)
 }
 else   {}
}
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
02.02.2013, 15:57  [ТС] 7
Цитата Сообщение от nick42 Посмотреть сообщение
Тогда посмотрите на это__
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::FormShow(TObject *Sender)
{
 if (ParamCount > 0)
 {
   Label1->Caption = ParamStr(0) ;
   Label2->Caption = ParamStr(1) ;
  // Ñþäà ïîìåñòèòå Âàø êîä, àíàëèçèðóþùèé ParamStr(1)
 }
 else   {}
}
а зачем Label?
0
LK
Заблокирован
02.02.2013, 16:16 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TRegistry * reg = new TRegistry;
reg->RootKey = HKEY_CLASSES_ROOT;
reg->OpenKey(".txt",true);  // ветка с расширением
reg->WriteString("","txtfile");
reg->CloseKey();
reg->OpenKey("txtfile",true);
reg->WriteString("","txt-файл, просто текстовый файл");  // описание
reg->OpenKey("txtfile\\DefaultIcon",true);
reg->WriteString("","C:\\Project1.exe,0");  // иконка
reg->CloseKey();
reg->OpenKey("txtfile\\shell\\open\\command",true);
reg->WriteString("","C:\\Project1.exe");  // программа для открытия
reg->CloseKey();
delete reg;
C:\\Project1.exe - заменить на путь к вашему ехе
подключить библиотеку для работы с реестром
короче, вам сюда:
Работа с реестром в C++ Builder
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
02.02.2013, 16:28 9
Цитата Сообщение от Alkcatraz Посмотреть сообщение
а зачем Label?
просто сделайте так и посмотрите, что будет в Label2 при старте программы, когда "правой кнопкой"... . Если там путь к текстовому файлу, на котором "кликнули", то смело можете использовать ParamStr(1) как имя файла, загружаемого в Memo при старте.
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
02.02.2013, 17:16  [ТС] 10
Цитата Сообщение от nick42 Посмотреть сообщение
просто сделайте так и посмотрите, что будет в Label2 при старте программы, когда "правой кнопкой"... . Если там путь к текстовому файлу, на котором "кликнули", то смело можете использовать ParamStr(1) как имя файла, загружаемого в Memo при старте.
Текстовый редактор, ассоциация файлов с приложением
0
LK
Заблокирован
02.02.2013, 17:26 11
Alkcatraz, вам не кажется, что эти ваши рисуночки никому, кроме вас, здесь не интересны, тем более, что вы не соизволите даже прокомментировать ситуацию? Уважайте людей, от которых ждете помощи.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.02.2013, 17:26 12
https://www.cyberforum.ru/blog... og621.html
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
02.02.2013, 22:57  [ТС] 13
Цитата Сообщение от nick42 Посмотреть сообщение
просто сделайте так и посмотрите, что будет в Label2 при старте программы, когда "правой кнопкой"... . Если там путь к текстовому файлу, на котором "кликнули", то смело можете использовать ParamStr(1) как имя файла, загружаемого в Memo при старте.
Вставил
C++
1
2
3
4
5
void __fastcall TForm1::FormShow(TObject *Sender)
{
Memo1->Lines->LoadFromFile(ParamStr(1));
 
}
При открытии файла "правой кнопкой" содержимое файла появляется, но если просто открыть программу появляется ошибка
Текстовый редактор, ассоциация файлов с приложением

при нажатии OK программа открывается.

и при компиляции ошибка
Текстовый редактор, ассоциация файлов с приложением
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
03.02.2013, 00:45 14
Цитата Сообщение от Alkcatraz Посмотреть сообщение
Вставил

.. а не нужно было меня "улучшать". Сразу "брать за грудки" параметр без анализа на его присутствие - неэтично.
Конечно, программа не может грузить инфу из "файла" по имени "".
C++
1
2
3
4
5
void __fastcall TForm1::FormShow(TObject *Sender)
{
  if (ParamCount() > 0)
      Memo1->Lines->LoadFromFile(ParamStr(1));
}
0
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
03.02.2013, 00:58  [ТС] 15
Цитата Сообщение от nick42 Посмотреть сообщение

.. а не нужно было меня "улучшать". Сразу "брать за грудки" параметр без анализа на его присутствие - неэтично.
Конечно, программа не может грузить инфу из "файла" по имени "".
C++
1
2
3
4
5
void __fastcall TForm1::FormShow(TObject *Sender)
{
  if (ParamCount() > 0)
      Memo1->Lines->LoadFromFile(ParamStr(1));
}
Благодарю
0
03.02.2013, 00:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2013, 00:58
Помогаю со студенческими работами здесь

Текстовый редактор
Мне нужно создать текстовый редактор на C++ Builder с возможностью вставки рисунков и таблиц.В...

Простенький текстовый редактор
Уважаемые! Может у кого-нибудь есть простенький текстовый редактор под ДОС? Или может кто-нибудь...

Многокаскадный текстовый редактор
На страницах форума нашел редактор но он не многооконный. Помогите материалом для разработки...

Текстовый редактор с проверкой орфографии
Помогите наити проект текст редактора с проверкой орфографии. Может кто нибудь делал?!


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

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