![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() У меня есть *.txt файл вида:
login1: pass1 login2: pass2 Подскажите как можно все логины и пароли перевести в два масива, с паролями и логинами по порядку? "Если бы выборы и голосование приводили к положительному результату и радующим население переменам, их давно уже объявили бы противозаконными!" Лайэм Галлахер |
#2
|
||||
|
||||
![]() как вариант через Copy(s, 1, Pos(':', s) - 1)
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
||||
|
||||
![]() Код:
type TLogin = Record Log, Pas: String; end; var Form1: TForm1; Mas: Array[1..3] of TLogin; N: Integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Str: TStringList; i: Integer; begin { Файл должен быть типа: Логин1:Пароль1 Логин2:Пароль2 ... } N := 1; Str := TStringList.Create; Str.LoadFromFile('myfile.txt'); for i:=0 to Str.Count-1 do begin Mas[N].Log := Copy(Str.Strings[i], 1, Pos(':', S)-1); Mas[N].Pas := Copy(Str.Strings[i], Pos(':', S)+1, Length(Str.Strings[i])-Pos(':', S)); inc(N); end; Str.Free; // теперь в массиве Mas[i] хранятся логины пароли. Также возможно разбить логины-пароли: Код:
S := StringReplace(S, ':', #10#13, [rfReplaceAll]); ЗЫ пока писал уже ответили ![]() Помогаю за Спасибо ![]() |
#4
|
||||
|
||||
![]() @v1s2222 #13#10 лучше заменить на sLineBreak
![]() — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
![]() v1s2222, спасибо. Скажи, а как можно оформить твой код для вставки в программу, а то что то у меня одни ошибки вылазят. Например в роли процедуры.
"Если бы выборы и голосование приводили к положительному результату и радующим население переменам, их давно уже объявили бы противозаконными!" Лайэм Галлахер |
#6
|
||||
|
||||
![]() Код:
type TLogin = Record Log, Pas: String; end; var Form1: TForm1; Mas: Array[1..3] of TLogin; N: Integer; implementation {$R *.dfm} procedure LoadLogins; var Str: TStringList; i: Integer; begin { Файл должен быть типа: Логин1:Пароль1 Логин2:Пароль2 ... } N := 1; Str := TStringList.Create; Str.LoadFromFile('C:\1.txt'); for i:=0 to Str.Count-1 do begin Mas[N].Log := Copy(Str.Strings[i], 1, Pos(':', Str.Strings[i])-1); Mas[N].Pas := Copy(Str.Strings[i], Pos(':', Str.Strings[i])+1, Length(Str.Strings[i])-Pos(':', Str.Strings[i])); inc(N); end; Str.Free; end; procedure TForm1.Button1Click(Sender: TObject); begin LoadLogins; showmessage('Первый логин: ' + mas[1].Log + '; 1 Пароль: ' + mas[1].Pas); end; Помогаю за Спасибо ![]() |
#7
|
||||
|
||||
![]() v1s2222, большое спасибо!)) Работает))
А как можно сделать так чтоб можно было переводить динамическое количество строк в файле, ну соответственно и узнать номер последней записи в массиве? "Если бы выборы и голосование приводили к положительному результату и радующим население переменам, их давно уже объявили бы противозаконными!" Лайэм Галлахер Последний раз редактировалось casperock, 22.01.2011 в 15:54. |
#8
|
||||
|
||||
![]() Поможет кто?))
"Если бы выборы и голосование приводили к положительному результату и радующим население переменам, их давно уже объявили бы противозаконными!" Лайэм Галлахер |
#9
|
|||
|
|||
![]() Цитата:
описание динамического массива: Код:
var A : Array Of String; Функции работы с дин. массивами: SetLength() - утсановка длинны массива; Low() - индекс нижнего элемента; High() - индекс верхнего элемента. |