Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / возможно ли ето?????????? / 25 сообщений из 33, страница 1 из 2
14.07.2004, 14:07
    #32603860
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
я пишу прогу по обработки *.cfg для Quake3Arena (=))
и хочу чтобы в самой проге (в exe). была база некоторых конфигов постоянно
(для тех кто знает: cooller, uNkind ...)
был листбокс, в нем имена (это ясно), а как "вмонтировать" *.cfg в exeшник??
ps cfg - это текстовый файл =)
...
Рейтинг: 0 / 0
14.07.2004, 14:08
    #32603863
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
допиши его в конец и все...
...
Рейтинг: 0 / 0
14.07.2004, 14:11
    #32603871
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
либо как ресурс...
...
Рейтинг: 0 / 0
14.07.2004, 14:23
    #32603910
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
2 ScareCrow
я немного ошибся не листбох, а комбобокс. как ресурс это понятно, но мне это не надо. а что такое допиши его в конце?
...
Рейтинг: 0 / 0
15.07.2004, 09:33
    #32605153
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
я пишу прогу по обработки *.cfg для Quake3Arena (=))
и хочу чтобы в самой проге (в exe). была база некоторых конфигов постоянно
(для тех кто знает: cooller, uNkind ...)

Как это я пропустил такую тему. Очень полезную и нужную делаете программу Я же смогу сейчас наверное только с рельсой камперить.

был листбокс, в нем имена (это ясно), а как "вмонтировать" *.cfg в exeшник??
ps cfg - это текстовый файл =)

Один из универсальных способов. Добавьте свой config как Embedded ресурс, например пусть у него, название myconfig.cfg, default namespace name = пусть будет Quake3Config (по умолчанию совпадает с названием программы, например программа называется quake3config.exe)
Тогда можно воспользоваться следующим кодом, чтобы конфиг стал доступным в runtime.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Stream stream = this.GetType().Assembly.GetManifestResourceStream("Quake3Config.myconfig.cfg");
if (stream != null)
{
	StreamReader reader = new StreamReader(stream);
	try 
	{
		string config = reader.ReadToEnd();
		System.windows.Forms.MessageBox.show(config.ToString()); // наш config
	}
	finally 
	{
		reader.Close();
	}
}

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 11:45
    #32605526
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
2Sa
1) я еще немного ламер в C# =). Это все что ты написал надо вставить в
private void cmbxCfgGods_SelectedIndexChanged(...)
{
} ???

2) - The type or namespace name 'reader' could not be found (are you missing a using directive or an assembly reference?)
- The type or namespace name 'Stream' could not be found (are you missing a using directive or an assembly reference?)
- The type or namespace name 'StreamReader' could not be found (are you missing a using directive or an assembly reference?)

че это за приколы? У меня такое чувство что я для этой всей кучи строк пропустил всего одну фигню. я прав?
...
Рейтинг: 0 / 0
15.07.2004, 11:49
    #32605540
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
1) я еще немного ламер в C# =). Это все что ты написал надо вставить в
private void cmbxCfgGods_SelectedIndexChanged(...)
{
} ???

Хоть куда, это можно оформить как процедуру считывания embedded конфига, передавать туда имя, получать string.


2) - The type or namespace name 'reader' could not be found (are you missing a using directive or an assembly reference?)
- The type or namespace name 'Stream' could not be found (are you missing a using directive or an assembly reference?)
- The type or namespace name 'StreamReader' could not be found (are you missing a using directive or an assembly reference?)

че это за приколы? У меня такое чувство что я для этой всей кучи строк пропустил всего одну фигню. я прав?

using System.IO;

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 11:59
    #32605573
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
но все же "конфиги крутых парней =)" должны лежать на машине у того кто запускает программу и моя прога открывает их. а я хочу чтобы они находились в самой программе, не зависимо есть ли они у тебя или нет, ты все равно смиожешь их просмотреть и при желаниии переделать
...
Рейтинг: 0 / 0
15.07.2004, 12:09
    #32605615
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
а я хочу чтобы они находились в самой программе, не зависимо есть ли они у тебя или нет, ты все равно смиожешь их просмотреть и при желаниии переделать

Ну я про это и говорю, для каждого крутого парня по embedded текстовому файлу:
a.cfg, b.cfg, c.cfg, sa.cfg and etc, где a, b, c, sa имя крутого парня
Ну и считываешь их кодом выше, вместо myconfig - подставляешь a, b, c, sa.

Конкретно то что не получается? Не знаете как текстовый файл включить в сборку?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 12:38
    #32605701
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
именно =(
...
Рейтинг: 0 / 0
15.07.2004, 12:50
    #32605749
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
как текстовый файл включить в сборку?
...
Рейтинг: 0 / 0
15.07.2004, 13:05
    #32605786
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
В VS.NET:
File -> Add Existing Item... -> File Of Type ставить All Files - > Выбираете свой файл Open (при этом файл локально скопируется к вашему проекту).

Далее смотрим свойства файла Build Action устанавливаем в Embedded Resource

Все.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 14:09
    #32605976
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
2Sa
это на самом деле все тот же Trethop
вот смотрите (я уже наверное достал =)):
у меня есть комбобокс cmbxCfgGods, в нем допустим один мой файл tr.cgf.
и есть textbox: tboxField, где я эти конфиги смотрю
дважды кликаем на форме по cmbx,
private void cmbxCfgGods_SelectedIndexChanged(object sender, System.EventArgs e)
{
Stream stream = this.GetType().Assembly.GetManifestResourceStream("Quake.tr.cfg");
if (stream != null)
{
StreamReader reader = new StreamReader(stream);
try
{
string config = reader.ReadToEnd();
tboxField.Text = config.ToString();
}
finally
{
reader.Close();
}
}
}
внимение вопрос: почему это все не работает (хотя я не знаю почему это должно работать) =)
...
Рейтинг: 0 / 0
15.07.2004, 14:14
    #32605999
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
внимение вопрос: почему это все не работает (хотя я не знаю почему это должно работать) =)

То что это должно работать 100 процентов (-0.01 % на всякий случай )
Скорее всего stream равен null, поэтому и не работает:
Причин может быть несколько вопервых проверьте DefaultNameSpace правой кнопкой по Solution см. в настройках.
Второе вот здесь учитывается регистр "Quake.tr.cfg", например если у вас cfg файл называется tR.cfg, то это уже не то.

Ну и tr.cfg точно embedded resource теперь?


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 14:23
    #32606032
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
1) tr.cfg - embedded resource 10
2) под "не работает" я понимал запускается, но tr не отображается в текстбоксе
3) а до DefaultNameSpace я не добрался. Solution explorer, right mouse click, но там этого нет
...
Рейтинг: 0 / 0
15.07.2004, 14:29
    #32606053
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
1) tr.cfg - embedded resource 10
2) под "не работает" я понимал запускается, но tr не отображается в текстбоксе
3) а до DefaultNameSpace я не добрался. Solution explorer, right mouse click, но там этого нет

Правой кнопкой в Solution по проекту -> General -> Default NameSpace регистр namespace тоже следует учитывать.

Посмотрите debug'ом или еще как внутрь if вы попадаете?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 14:39
    #32606101
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
стыдно признаться, но debugom в windows application я не умею пользоваться
только в console application. когда форма загружается что f10, что f11 мне не помогают
...
Рейтинг: 0 / 0
15.07.2004, 14:41
    #32606111
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
Ну поставьте в редакторе BreakPoint (F9) на строчке кода внутри if. И прогоните прогамму если выполнение прервется и вы попадете в редактор, значит все ок.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 14:46
    #32606121
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
итак debugom пользоваться я научился (спасибо), но меня не выкинуло в редактор
(я точно все правильно сделал, проверил на dlgOpen, там выкинуло =))
...
Рейтинг: 0 / 0
15.07.2004, 14:51
    #32606143
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
А сюда попадаете ????:
Код: plaintext
1.
Stream stream = this.GetType().Assembly.GetManifestResourceStream("Quake.tr.cfg");
И все таки название файла точно "tr.cfg"?
DefaultNameSpace точно "Quake"?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 14:56
    #32606159
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
1) точно tr.cfg
2) defaultnamespace точно Quake
!3) я вообще НЕ ПОПАДАЮ В cmbxCfgGods_SelectedIndexChanged()
...
Рейтинг: 0 / 0
15.07.2004, 15:01
    #32606175
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
Попадаете или не попадаете это другой вопрос повесте этот код просто на кнопку и проверьте получается вернуть конфиг или нет?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 15:06
    #32606193
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
на кнопку поставил. все работает, а что делать с комбобоксом
...
Рейтинг: 0 / 0
15.07.2004, 15:12
    #32606212
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
Да должен срабатывать, а вы лучше скажите что вы делаете что у вас не срабатывает

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
15.07.2004, 17:16
    #32606650
Trethop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
возможно ли ето??????????
я пишу
if (cmbxCfgGods.SelectedItem == "Trethop")
{
и весь тот преславутый текст
}


или можно (я так думаю что можно)

if (cmbxCfgGods.SelectedIndex == 1)
{
.....
}

вот и все
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / возможно ли ето?????????? / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]