Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2012, 19:08   #1
Paul30001
Новичок
Джуниор
 
Регистрация: 21.08.2012
Сообщений: 7
Радость Не знаю как написать прогу!

Привет! Решил научиться программированию, и в данный момент мне очень нужна прога которая копирует данные из файла .ini в другой файл .ini
Может для вас, программисты, это смешно а для меня очень сложно, вобщем если кому не лень скиньте примерный программный код, ну или уже програмку. Для вас это 3 минуты а для меня 3 часа.

Суть программы в следующем:
1)копирует первую строчку из файла AccountsDB.ini в папке с прогой и вставляет её сразу после фразы FakeHost= в файл settings.ini, (только в файле AccountsDB.ini первая строчка в квадратных скобках надо чтоб во втором файле она появлялась без них)
2)потом копирует 2 строчку из первого файла после фразы id= и до конца строчки и вставляет после FakeID= во второй файл
3) ну и копирует 3 строчку из первого файла после фразы sid= и до конца строчки и вставляет после FakeSID= во второй файл
И сохраняет файлы)

Мне очень нужна эта прога, если слишком долго писать, первый пункт не обязательно, главное вторые два... Желательно Visual Basic 2010, С++, или С#
Хотя бы скиньте код для одного из пунктов, дальше сам разберусь)
Заранее Спасибо!

Последний раз редактировалось Stilet; 21.08.2012 в 19:58.
Paul30001 вне форума Ответить с цитированием
Старый 21.08.2012, 20:14   #2
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Листайте форум, ищите примеры, гугл в помощь....если вы хотите научиться то не стоит просить готовый код, пишите его сами, если будут ошибки, устраняйте, а так за вас бесплатно не кто писать не будет.
Для таких тем есть "Фриланс"
Цитата:
данный момент мне очень нужна прога которая копирует данные из файла
Вот именно, программа нужна вам, а не нам!
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 21.08.2012, 22:46   #3
Artem_Kokos
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 122
По умолчанию

Например можете написать на С++. Почитайте в любом учебнике для начинающих азы - как все устроено и как работает и переходите в раздел, где рассказывается, как использовать файловый ввод-вывод. Обычно там примеры сразу идут простые, кода в них строчек десять, изучения которых будет вплоне достаточно для того, что вы хотите сделать. Учебник по-моему есть на этом сайте кстати.
Повторенье - мать ученья. И прибежище для лентяев.
Artem_Kokos вне форума Ответить с цитированием
Старый 21.08.2012, 23:03   #4
Paul30001
Новичок
Джуниор
 
Регистрация: 21.08.2012
Сообщений: 7
Вопрос

Цитата:
Сообщение от Artem_Kokos Посмотреть сообщение
Например можете написать на С++. Почитайте в любом учебнике для начинающих азы - как все устроено и как работает и переходите в раздел, где рассказывается, как использовать файловый ввод-вывод. Обычно там примеры сразу идут простые, кода в них строчек десять, изучения которых будет вплоне достаточно для того, что вы хотите сделать. Учебник по-моему есть на этом сайте кстати.
а можно ссылку на этот учебник?, и желательно на подобную ситуацию, потому что сколько я не искал ничего не нашел)
Paul30001 вне форума Ответить с цитированием
Старый 22.08.2012, 02:01   #5
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Цитата:
Сообщение от Paul30001 Посмотреть сообщение
Мне очень нужна эта прога, если слишком долго писать, первый пункт не обязательно, главное вторые два... Желательно Visual Basic 2010, С++, или С#
Хотя бы скиньте код для одного из пунктов, дальше сам разберусь)
Заранее Спасибо!
Вариант для пунктов 2,3 в Lazarus/Delphi без обработки ошибок и т.п.
Код:
procedure Primer;
var
  list1,list2:TStringList;
begin
  list1:=TStringList.Create;
  list2:=TStringList.Create;
  list1.LoadFromFile('AccountsDB.ini');
  list2.Add('FakeID='+list1.Values['id']);
  list2.Add('FakeSID='+list1.Values['sid']);
  list2.SaveToFile('settings.ini');
  FreeAndNil(list1);
  FreeAndNil(list2);
end;
astecenko вне форума Ответить с цитированием
Старый 22.08.2012, 03:23   #6
Paul30001
Новичок
Джуниор
 
Регистрация: 21.08.2012
Сообщений: 7
Радость

Цитата:
Сообщение от astecenko Посмотреть сообщение
Вариант для пунктов 2,3 в Lazarus/Delphi без обработки ошибок и т.п.
Код:
procedure Primer;
var
  list1,list2:TStringList;
begin
  list1:=TStringList.Create;
  list2:=TStringList.Create;
  list1.LoadFromFile('AccountsDB.ini');
  list2.Add('FakeID='+list1.Values['id']);
  list2.Add('FakeSID='+list1.Values['sid']);
  list2.SaveToFile('settings.ini');
  FreeAndNil(list1);
  FreeAndNil(list2);
end;
Спасибо огромное!
Я вроде бы разобрался...
Но остался один вопрос, можете дать написать строчку чтоб добавляла в list2 значение из list1, которое в таких скобках [] после текста FakeHost=.
Суть в том что это работает с id и sid т.к. в первом файле они написаны вот так: id=0000000, т.е. прога видит и считывает все после знака равно, а в случае с квадратными скобками строчка такого типа: [00.00000.00000.00] т.е. нету знака равно, соответственно прога не считывает данные((

Я пытался писать подобные варианты:
Код:
list2.Add('FakeHost='+list1.Values['']); сработало когда я добавил = перед квадратной скобкой.
и
list2.Add('FakeHost='+list1.Values['[']);
и
list2.Add('FakeHost='+list1.Values['Lines[1]']);
и много других...
Какая команда тут нужна?
Только не смеяться, я чайник в этих делах) VB6.0 более менее знаю)
Я б очень оценил, помощь по этому сообщению)!

Последний раз редактировалось Paul30001; 22.08.2012 в 05:35. Причина: дополнил
Paul30001 вне форума Ответить с цитированием
Старый 22.08.2012, 08:00   #7
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Если интересующая строка с квадратн скобками всегда первая (в TStrings строки нумеруются с 0) то
Код:
list2.Add('FakeHost='+Copy(list1[0],2,Length(list1[0])-2));
astecenko вне форума Ответить с цитированием
Старый 22.08.2012, 08:04   #8
Paul30001
Новичок
Джуниор
 
Регистрация: 21.08.2012
Сообщений: 7
Радость

Цитата:
Сообщение от astecenko Посмотреть сообщение
Если интересующая строка с квадратн скобками всегда первая (в TStrings строки нумеруются с 0) то
Код:
list2.Add('FakeHost='+Copy(list1[0],2,Length(list1[0])-2));
всё работает, Спасибо Большое!

как мне отправить вам сообщение?

Цитата:
Сообщение от astecenko Посмотреть сообщение
Если интересующая строка с квадратн скобками всегда первая (в TStrings строки нумеруются с 0) то
Код:
list2.Add('FakeHost='+Copy(list1[0],2,Length(list1[0])-2));
всплыло ещё кое-что, нехочу надоедать, но если вам не лень подскажите вот с этим пож:
в моей проге есть таймер, он отсчитывает 3 часа и 30 секунд, я коекак его оформил и со скрипом запустил, но мне нужно чтобы когда он доходит но нуля, т.е. через 3 часа 30 сек, он обновлялся, т.е. снова отсчитывал время, и чтобы когда он доходит до нуля, он повторял процедуру, которую вы мне написали, т.е. снова копировал, новые данные...
Надеюсь поможете)

Последний раз редактировалось artemavd; 22.08.2012 в 12:15.
Paul30001 вне форума Ответить с цитированием
Старый 22.08.2012, 08:56   #9
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

В Delphi/Lazarus на вкладке System есть компонент TTimer (выклидит как аналоговые часы), кидаете этот компонент на форму, в свойстве interval задаете 3,5 часа в миллисекундах = 210000, устанавливаете свойство Enabled в True (включаете таймер). Затем делаете двойной клик по компоненту - в редакторе создастся обработчик для события OnTimer, в котором пишите нужный Вам код (копирование из файла в файл etc).
Как-то так.
Если во время работы программы (run-time) надо включить/выключить таймер - присваиваете соответствующее знач свойству Enabled

Upd
3ч 30сек = 180030 мсек

Последний раз редактировалось astecenko; 22.08.2012 в 09:02.
astecenko вне форума Ответить с цитированием
Старый 22.08.2012, 09:07   #10
Paul30001
Новичок
Джуниор
 
Регистрация: 21.08.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от astecenko Посмотреть сообщение
В Delphi/Lazarus на вкладке System есть компонент TTimer (выклидит как аналоговые часы), кидаете этот компонент на форму, в свойстве interval задаете 3,5 часа в миллисекундах = 210000, устанавливаете свойство Enabled в True (включаете таймер). Затем делаете двойной клик по компоненту - в редакторе создастся обработчик для события OnTimer, в котором пишите нужный Вам код (копирование из файла в файл etc).
Как-то так.
Если во время работы программы (run-time) надо включить/выключить таймер - присваиваете соответствующее знач свойству Enabled

Upd
3ч 30сек = 180030 мсек
это я уже все сам сделал, у меня 2 таймера, один крутит лэйбл с часами , минутами, и секундами, а другой отсчитывает тоже время невидимо с интервалом 10830000, как мне обновить лейбл снова на 3 ч 30 сек по окончании? а то оно пишет 0-1:59:59, ну это не столь важно,

А если я поставлю команды для копирования в тело таймера оно само будет повторятся каждый раз как таймер обновляется?
Paul30001 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 программы не знаю как написать Драа Помощь студентам 2 03.11.2011 11:21
Не знаю как ф-ю написать из проги, прогу зделал а функцию.... D[I]K Общие вопросы C/C++ 3 11.09.2009 10:21
я не знаю как написать функцыю факториала merets Паскаль, Turbo Pascal, PascalABC.NET 1 08.09.2009 19:46
не знаю как доделать прогу на паскале pavel42 Помощь студентам 8 06.05.2009 16:34