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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2015, 15:42   #11
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Str.x это TVlans? Оно в принципе для записей и так должно работать, но согласно правилам хорошего тона его тоже надо Create . И не забудьте Free в конце функции/процедуры.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 15:42   #12
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

О, а теперь вообще всё неправильно стало.
lomastr_ вне форума Ответить с цитированием
Старый 21.01.2015, 15:45   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
О, а теперь вообще всё неправильно стало.
Для флуда и болтологии есть Свободное общение. Если Вы видите ошибку так напишите какую и не стебайтесь над тем, что человек ищет правильную дорогу. Не ошибается только тот кто ничего не делает.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 15:49   #14
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
проблема вот именно с этой строкой:
F у вас TStringList, F[i] это эквивалент F.Lines[i] что является строкой а не объектом. Вот и вся ошибка.
Человек_Борща вне форума Ответить с цитированием
Старый 21.01.2015, 16:02   #15
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Про -1 уже сказали.
id.id это что такое? а это - name.name ? к чему оно тут?
дальше вообще непонятно что за код
len := Length(F[j]) - 31;
S := F[j];
Delete(S, 31, len);
F[j] := S;
if F[j] = '' then
F.Delete(j);
Str.x := F[j];
да еще и в цикле по лайнсам (особенно F.Delete(j); )?
опять таки что такое Str? по семантике типа TVlans то Str не этого типа, кокого его добавляют в список ?

Utkin хватит?

Последний раз редактировалось lomastr_; 21.01.2015 в 16:06.
lomastr_ вне форума Ответить с цитированием
Старый 21.01.2015, 16:08   #16
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
Про -1 уже сказали.
id.id это что такое? а это - name.name ? к чему оно тут?
дальше вообще непонятно что за код
len := Length(F[j]) - 31;
S := F[j];
Delete(S, 31, len);
F[j] := S;
if F[j] = '' then
F.Delete(j);
Str.x := F[j];
да еще и в цикле по лайнсам (особенно F.Delete(j); )?
опять таки что такое Str? по семантике типа TVlans то Str не этого типа, кокого его добавляют в список ?

Utkin хватит?
Давай я покажу весь юнит.
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.Generics.Collections,
  Vcl.StdCtrls, Vcl.ExtDlgs, Vcl.Grids;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    OD: TOpenTextFileDialog;
    StringGrid1: TStringGrid;
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TVlans = class(TObject)
    id: string;
    name: string;
    x: String;
  end;

var
  Form1: TForm1;
  M: TList<TVlans>;
  mass: array [0 .. 31] of TVlans;
  i: integer;
  pointer: integer;
  V1: TList<TVlans>;
  V2: TList<TVlans>;
  Vt: TList<TVlans>;
  F: TStringList;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
  id, name, Str: TVlans;
  i, j, len: integer;
  S: String;
begin
  // for i := 0 to 4 do
  begin
    if OD.Execute then
    begin
      F := TStringList.Create;
      F.LoadFromFile(OD.FileName);
      V1 := TList<TVlans>.Create;
      for j := 0 to F.Count-1 do
      begin
        id.id := copy(F[j], 1, 5);
        name.name := copy(F[j], 5, 30);
        len := Length(F[j]) - 31;
        S := F[j];
        Delete(S, 31, len);
        F[j] := S;
        if F[j] = '' then
          F.Delete(j);
        Str.x := F[j];
        V1.Add(Str);
      end;
    end;
  end;

end;

end.
Я добавил "-1" в цикл, не помогло.

Utkin, если не сложно, на небольшом примере объясни как мне создать объект класса.
Я не могу понять принцип.
viks1 вне форума Ответить с цитированием
Старый 21.01.2015, 16:11   #17
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Utkin хватит?
Дело не в этом. А в том, что сразу нужно было показать ему ошибки.
Цитата:
Utkin, если не сложно, на небольшом примере объясни как мне создать объект класса.
Я не могу понять принцип.
Какого именно?
И потом:
Код:
TVlans = class(TObject)
    id: string;
    name: string;
    x: String;
  end;
Первоначально икса не было. Это что, новое по ходу добавилось?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 16:12   #18
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
Про -1 уже сказали.
id.id это что такое? а это - name.name ? к чему оно тут?
дальше вообще непонятно что за код
len := Length(F[j]) - 31;
S := F[j];
Delete(S, 31, len);
F[j] := S;
if F[j] = '' then
F.Delete(j);
Str.x := F[j];
да еще и в цикле по лайнсам (особенно F.Delete(j); )?
опять таки что такое Str? по семантике типа TVlans то Str не этого типа, кокого его добавляют в список ?

Utkin хватит?
С чем я собственно работаю:
Код HTML:
1    default                          active    
2    VLAN0002                         active    
5    OstrofLocalVlan                  active    
7    205_13_Merlin                    active    
8    VLAN0008                         active    
202  seaport                          active    
220  finbank                          active    
301  VLAN0301                         active    
309  old-st-clients                   active    
314  sud-sudyi                        active    
315  burb-guest                       active    
316  Timer-rec                        active    
317  dklan-korol                      active    
319  sud-clients                      active    
320  Natalka-transp                   active    
322  sants-int                        active    
325  virtual-users                    active    
327  adslUrkelFinbEth                 active    
328  adsl_urkel_finb                  active    
341  proc-schep                       active    
348  dklan-Koza4                      active    
352  its_transit                      active    
366  Genya_local                      active    
367  Gefta_klassiko_inet              active    
382  382                              active    
397  lark-tr1                         active    
400  ST-game-servers                  active    
401  ST-hosting                       active    
402  ST-demos-hosting                 active    
403  dklan-zaporog                    active    
404  sh4-post-bone                    active    
405  1t-postshape-bb2                 active    
406  dklan                            active    
407  Setka-isp-sf19                   active    
408  1tel-parom-client                active    
409  dklan-servers                    active    
410  CernTechFlot-trans               active    
411  Kredo-classic                    active    
412  1t-od-bone                       active    
413  Storage-private                  active    
414  sh4-pre-bone                     active    
415  kaufman.home                     active    
416  c4-preshap-bone                  active    
417  1t-ODeX                          active    
418  FB-Pumb                          active    
419  1t-clients                       active    
420  1t-inet-bone                     active    
421  [1t]-ServerFarm                  active    
422  hi.OPU                           active    
423  1tel-arkadiysk                   active    
424  1TeX                             active    
425  [fb]-Utel-transp                 active    
426  depo-trans                       active    
427  trv_mbt_korol                    active    
428  1t-Aries                         active    
429  Okean                            active    
430  Lexus                            active    
431  [1t]-db                          active    
432  OfficeSupport                    active    
433  Birga-Ccients                    active    
... и тд
Это ВЛАНы, это 1 файл.
Я сейчас форматирую так, что бы у меня кроме номера и имени ничего не было
и так надо проделать 32 файла. В одном файле есть то, чего нет в другом и так же есть одинаковые...
Мне надо совместить их между собой, создать один файл в котором будут все вланы (без повторений).
viks1 вне форума Ответить с цитированием
Старый 21.01.2015, 16:13   #19
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Какого именно?
Любой. К примеру вот этого:
Код:
TVlans = class(TObject)
    id: string;
    name: string;
    x: String;
  end;
Цитата:
И потом:
Код:
TVlans = class(TObject)
    id: string;
    name: string;
    x: String;
  end;
Первоначально икса не было. Это что, новое по ходу добавилось?
Да, когда Вы сказали как правильно добавить.

Последний раз редактировалось viks1; 21.01.2015 в 16:15.
viks1 вне форума Ответить с цитированием
Старый 21.01.2015, 16:15   #20
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Что этот код делать должен?
lomastr_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java Collections slavarus Помощь студентам 0 06.10.2013 17:57
C#. Generics Arrays/Обобщенные массивы Lasur C# (си шарп) 2 13.03.2012 05:08
== для generics-типов. vedro-compota C# (си шарп) 4 07.04.2011 08:22
System.Collections.IEnumerable; как его подключить? boris-blade Общие вопросы .NET 4 15.03.2010 01:36