Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 3

Изменение строк

14.04.2011, 07:14. Показов 1526. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ув.Пользователи, помогите решить проблему:
Приложение Windows Form, VS 2010.
(просто начал "изучать" язык только 8 часов назад, не знаю ничего).
((Прошу в гугл, и другие поисковики не кидать, был там, но из-за необразованности того чего хотел так и не нашел))

1. Из одного вида, текст надо перевести в другой.
Пример текста:
int m_bExist;
char m_strModel[64];
int m_nIconIDX;
char m_strName[64];
int m_nKindClt;
int m_nItemGrade;
int m_nActiveType;
char m_strActiveCode_key[64];
int m_nActiveEffLvl;
float m_fActiveProba;
int m_nFixPart;
char m_strBulletType[64];
int m_nType;
int m_nSubType;
char m_strCivil[64];
char m_strClassLim[64];
int m_nLevelLim;
int m_nUpLevelLim;
int m_nClassGradeLim;
int m_nExpertID1;
int m_nExpertLim1;
int m_nExpertID2;
int m_nExpertLim2;
int m_nMoney;
int m_nStdPrice;
int m_nStdPoint;
int m_nStoragePrice;
int m_bAbr;
int m_nDurUnit;
float m_fEquipSpeed;
int m_bRepair;
int m_nRepPrice;
int m_nEffState;
int m_nProperty;
float m_fFireTol;
float m_fWaterTol;
float m_fSoilTol;
float m_fWindTol;
float m_fAttGap;
int m_nAttack_DP;
float m_fGADst;
int m_nGASpd;
int m_nGAMinSelProb;
float m_fGAMinAF;
int m_nGAMaxSelProb;
float m_fGAMaxAF;
int m_nMADst;
int m_nMASpd;
int m_nMAMinSelProb;
float m_fMAMinAF;
int m_nMAMaxSelProb;
float m_fMAMaxAF;
int m_nEff1Code;
float m_fEff1Unit;
int m_nEff2Code;
float m_fEff2Unit;
int m_nEff3Code;
float m_fEff3Unit;
int m_nEff4Code;
float m_fEff4Unit;
int m_nDuration;
int m_bSell;
int m_bExchange;
int m_bGround;
int m_bStoragePossible;
int m_bUseableNormalAcc;
int m_nUpgrade;
char m_strTooltipIndex[64];
int m_nAttEffType;
int m_bIsTime;
В тот вид в который надо перевести:

u32 nCount;
cstr [len=64] ItemCode;
i32 [tag="Exist"] DWORD;
cstr [len=64] strModel;
i32 [tag="IconIDX"] DWORD;
cstr [len=64] strName;
i32 [tag="KindClt"] DWORD;
i32 [tag="ItemGrade"] DWORD;
i32 [tag="ActiveType"] DWORD;
cstr [len=64] strActiveCode;
i32 [tag="ActiveEffLvl"] DWORD;
float [tag="ActiveProba"] DWORD;
i32 [tag="FixPart"] DWORD;
cstr [len=64] strBulletTipe;
i32 [tag="Type"] DWORD;
i32 [tag="SubType"] DWORD;
cstr [len=64] strCivil;
cstr [len=64] strClassLim;
i32 [tag=LeveLim] DWORD;
i32 [tag="ClassGradeLim"] DWORD;
i32 [tag="ExpertID1"] DWORD;
i32 [tag="ExpertLim1"] DWORD;
i32 [tag="ExpertID2"] DWORD;
i32 [tag="ExpertLim2"] DWORD;
i32 [tag="Money"] DWORD;
i32 [tag="StdPrice"] DWORD;
i32 [tag="StdPoint"] DWORD;
i32 [tag="StoragePrice"] DWORD;
i32 [tag="Abr"] DWORD;
i32 [tag="DurUnit"] DWORD;
float [tag="EquipSpeed"] DWORD;
i32 [tag="Repair"] DWORD;
i32 [tag="RepPrice"] DWORD;
i32 [tag="EffState"] DWORD;
i32 [tag="Property"] DWORD;
float [tag="FireTol"] DWORD;
float [tag="WaterTol"] DWORD;
float [tag="SoilTop"] DWORD;
float [tag="WindTol"] DWORD;
float [tag="AttGap"] DWORD;
i32 [tag="Attack_DP"] DWORD;
float [tag="fGADst"] DWORD;
i32 [tag="GASpd"] DWORD;
i32 [tag="GAMineSelProb"] DWORD;
float [tag="GAMinAF"] DWORD;
i32 [tag="GAMaxSelProb"] DWORD;
float [tag="GAMaxAF"] DWORD;
i32 [tag="MADst"] DWORD;
i32 [tag="MASpd"] DWORD;
i32 [tag="MAMinSelProb"]DWORD;
float [tag="MAMinAF"] DWORD;
i32 [tag="MAMaxSelProb"] DWORD;
float [tag="MAMaxAF"] DWORD;
i32 [tag="Eff1Code"] DWORD;
float [tag="Eff1Unit"] DWORD;
i32 [tag="Eff2Code"] DWORD;
float [tag="Eff2Unit"] DWORD;
i32 [tag="Eff3Code"] DWORD;
float [tag="Eff3Unit"] DWORD;
i32 [tag="Eff4Code"] DWORD;
float [tag="Eff4Unit"] DWORD;
i32 [tag="Duration"] DWORD;
i32 [tag="Sell"] DWORD;
i32 [tag="Exchange"] DWORD;
i32 [tag="Ground"] DWORD;
i32 [tag="StoragePossible"] DWORD;
i32 [tag="UseableNormalAcc"] DWORD;
i32 [tag="Upgrade"] DWORD;
cstr [len=64] strTooltipIndex;
i32 [tag="AttEffType"] DWORD;
Собственно, подскажите:
1. Как заменить одно значение, другим? (например: int32 => i32)
2. Как сделать так, что бы программа перескакивала на другую строчку?(да и надо ли это вообще?)
3. И Как сделать так, что бы я (первый вариант текста) вводил в окно программы, нажимал кнопку, и в этом же окне появлялся уже переведенный текст.


Заранее благодарю за ответы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.04.2011, 07:14
Ответы с готовыми решениями:

Отследить изменение строк в DataGridView
Доброго времени суток! Проблемка мизерная: есть DataGridview, datasource - датасет, заполненный через tableadapter (всё это сделано с...

Изменение начальных строк символов.
Изменение начальных строк символов. Данное слово из 12-ти букв. Переставить в обратном порядке буквы, расположенные между второй и...

Изменение строк БД
Добрый день, пишу программу для подсчета семейного бюджета (курсовая). Работаю с базой MaySQL. Проблема такая есть форма добавления...

4
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
14.04.2011, 07:28
1. s = "int32 nn = m_nStoragePrice";
string s2 = s.Replace("int32", "i32");
2. Не надо (просто все строки хранятся в richTextBox, например (или textBox)
3. Вставляется текст в richTextBox (размещенный на форме) с помощью Ctrl+C, нажимаете кнопку Button (размещенную на форме), в обработчике нажатия кнопки анализируете содержимое richTextBox1 построчно, создаете новую строку. Полученные результаты накапливаете в переменной String (или StringBuilder). После полной обработки сохраняете полученный новый текст в richTextBox1.Text
1
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 3
14.04.2011, 08:05  [ТС]
Спасибо, правда просите я немного не так описал, в общем описание int разное, это может быть и "m_nGASpd" и "m_nMADst" и "m_bRepair" и т.д (и такого описание, очень много)
Хотелось бы, не писать под каждое описание свой "перевод".
Можно ли как то ограничить выбор в изменении текста? (Тоесть что бы он изменял только int на i32, float на float, char[64] на cstr[len=64], а описание оставлял не измененным? плюс в конце, например за место ";" менял на "] DWORD;" либо оставлял так же(ошибкой это не будет, просто синтаксис который можно игнорировать оставляя просто ";")

Просто в чем суть, то что я выложил, это С++ (кусок из хидера одной программы), переведенный в язык ДатЭдитора (вот пример: Слева - С++, справа язык ДатЭдитора)
int - i32
unsignet int - u32
float - float
double - double
char - i8
unsigned char - u8
short - i16
unsigned short - u16
char [](массив чар) - cstr + обязательный параметр len=x(где х - количество байт)
char i8
unsigned char u8
short i16
unsigned short u16
char [](массив чар) cstr
__int64 -нету в датэдит, а жаль
Программа нужна для облегчения перевода, я выложил только 1 скрипт, таких в сервере (да, игровой сервер MMORPG написанный на С++) более 90шт, примерно на одну структуру уходит минут 5-30(в зависимости от сложности). И я хотел бы немого облегчить труд себе, и своих "братьев по оружию".
0
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
14.04.2011, 08:16
Всё в ваших руках. Читаете в цикле каждую строку, анализируете её своим алгоритмом (находите закономерности в написании строк), создаёте на её основе другую строку с новыми данными. Это называется "парсить".
По другому никак
З.Ы.: в C# работа со строками развита хорошо и есть множество методов для обработки строк
1
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 3
14.04.2011, 08:32  [ТС]
Большое спасибо за советы и за ссыль. Будем учиться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2011, 08:32
Помогаю со студенческими работами здесь

Изменение строк в ListBox
Доброго времени суток всем! Такая проблемка. Есть на форме ListBox, который выводит определенную таблицу из базы данных. Чтобы...

Изменение порядка строк
Помогите составить программу для изменения порядка строк в C++ для реализации в Linux int filikx (char*sF1, char*sF2) { FILE *F1, *F2; ...

Изменение и удаление строк бд php
<? $conect=mysql_connect("localhost","root","")or die(mysql_error()); mysql_select_db("doc"); if(isset($_POST)) { $updat="UPDATE...

Изменение позиций строк матрицы
Преподаватель, сказал, что можно уменьшить код. как это сделать я не знаю, вот программа, что именно там делаю написано в комментариях....

PHP. Поиск и изменение строк
У меня через textarea передается текст методом post на другую страницу. Мне нужно сделать по примеру, как на этом сайте с ссылкой. Мне...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru