Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.04.2012, 16:11
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию Счётчик для ini

Здравствуйте !
Подскажите пожалуйста как сделать

Код:
begin
    j:=1;
    for i := 0 to XMLItem.SubItemCount-1 do   DrawXMLItem(XMLItem.SubItems[i]);
    if Trim(XMLItem.Name)='a' then
    begin
     Memo2.Lines.Add(XMLItem.Text);
     ini.WriteString(IntToStr(j),'Day',XMLItem.Text);
     j:=j+1;
     end;
 
  end;

Чтоб каждое слово которое найдено писалось в новой переменной ini .


В моём коде в Memo выводиться 8 слов а в ini записывается только 1 и самое последнее .
Ответить с цитированием
  #2  
Старый 14.04.2012, 17:57
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Код:
if Trim(XMLItem.Name)='a' then
    begin
     Memo2.Lines.Add(XMLItem.Text);
     ini.WriteString(IntToStr(j),'Day',XMLItem.Text);
     j:=j+1;
     end;
Это условие не в цикле, исполняться оно будет только один раз, поэтому инкрементировать j бессмысленно и поэтому запись в ini будет исполняться лишь один раз.
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
Этот пользователь сказал Спасибо Karsh за это полезное сообщение:
Gudzik11 (14.04.2012)
  #3  
Старый 14.04.2012, 18:27
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию

А не подскажешь как сделать ?

Если есть Memo в нём записано 30 строк мне нужно первые 7 строк записать в ini [1] следующие 7 строк в ini [2] и тд.
Ответить с цитированием
  #4  
Старый 14.04.2012, 19:08
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Цитата:
Сообщение от Gudzik11
А не подскажешь как сделать ?

Если есть Memo в нём записано 30 строк мне нужно первые 7 строк записать в ini [1] следующие 7 строк в ini [2] и тд.
Если нужно именно через мемо, то примерно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j, x: integer;
begin
  x:= 1;
  i:= 0;
  while i < Memo1.Lines.Count do
  begin
    for j:= 0 to 6 do
    begin
      if i+j >= Memo1.Lines.Count then break;
      ini.WriteString(IntToStr(x), 'Day' + IntToStr(j+1), Memo1.Lines[j+i]);
    end;
    inc(i, j);
    inc(x);
  end;
end;
Но проще делать это без мемо, сразу с xml.
Просто я смутно уже помню, как с xml работать. XMLItem.Text - это и есть те самые семь строк?
__________________
Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра.
Ответить с цитированием
Этот пользователь сказал Спасибо Karsh за это полезное сообщение:
Gudzik11 (14.04.2012)
  #5  
Старый 14.04.2012, 19:25
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию

Тут не xml а html. Использую ECXMLParser, ещё не знаю как он толком работает .
Ответить с цитированием
  #6  
Старый 14.04.2012, 19:55
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию

Спасибо! То что нужно
Ответить с цитированием
  #7  
Старый 15.04.2012, 08:48
Аватар для R-18Rus
R-18Rus R-18Rus вне форума
Новичок
 
Регистрация: 08.04.2012
Сообщения: 68
Версия Delphi: Delphi 7
Репутация: 127
По умолчанию

А почему у меня при записи в ini, начиная со второй строки, выпрыгивает ошибка.
Прогу уже специально пробовал сделать с нуля, а всё равно.
Вот код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IniFiles, StdCtrls;

type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ini:TIniFile;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ini:=TIniFile.Create(ExtractFilePath(Application.ExeName));
ShowMessage(ExtractFilePath(Application.ExeName));
with ini do
begin
WriteBool('Box','CheckBox1',CheckBox1.Checked);
WriteBool('Box','CheckBox2',CheckBox2.Checked);
WriteBool('Box','CheckBox3',CheckBox3.Checked);
WriteBool('Radio','RadioButton1',RadioButton1.Checked);
WriteBool('Radio','RadioButton2',RadioButton2.Checked);
end;
end;

end.
Ответить с цитированием
  #8  
Старый 15.04.2012, 11:08
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию

Делал так всё заработало.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s : string ;
begin
  getdir (0,s);
 ini:=TIniFile.Create(s+'\1.ini');
  ShowMessage(s+'\1.ini');
  with ini do
    begin
    WriteBool('Box','CheckBox1',CheckBox1.Checked);
   WriteBool('Box','CheckBox2',CheckBox2.Checked);
   WriteBool('Box','CheckBox3',CheckBox3.Checked);
   WriteBool('Radio','RadioButton1',RadioButton1.Checked);
   WriteBool('Radio','RadioButton2',RadioButton2.Checked);
  end;
end;
Ответить с цитированием
Этот пользователь сказал Спасибо Gudzik11 за это полезное сообщение:
R-18Rus (16.04.2012)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter