Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
klausteam
1 / 1 / 1
Регистрация: 08.04.2016
Сообщений: 59
1

Вывод в List View ФИО по номеру телефона

19.09.2017, 14:53. Просмотров 734. Ответов 2
Метки нет (Все метки)

Добрый день ГУРУ программирования, помогите в решении задачи.
Есть файл с расширением ini в котором содержаться ФИО и номер телефона в таком формате:
Иванов=79805258899
Петров=79605191550
Сидоров=79205550000
В программе есть ListView в котором 3 столбца Дата/ФИО/Текст сообщения
Сообщения приходят следующего типа:
19/08/2004, 79805258899, Пошли гулять.
Как сделать так чтобы в столбец ФИО выводилась именно фамилия, а не номер телефона?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2017, 14:53
Ответы с готовыми решениями:

Создайте файл 'телефонный справочник'. По номеру телефона найдите ФИО
Файлы. Создайте файл телефонный справочник. По номеру телефона найдите ФИО и...

Структура: Поиск студента по номеру телефона
Список содержит фамилии студентов и номер телефона в виде0-00-00.предусмотреть...

Запрет на удаление Item в List View
Ребята как можно реализовать запрет на удаление "Пустого " List View, после...

StringGrid Events вывод элемента по номеру строки
Добрый вечер! Есть ли у StringGrid свойство по нажатию на строку считывать в...

По номеру телефона вывести ФИО и адрес абонента
Уважаемые форумчане! Прошу помощи в написании программы первокурснику В...

2
qwertehok
2301 / 2205 / 602
Регистрация: 29.08.2013
Сообщений: 14,727
19.09.2017, 14:55 2
Цитата Сообщение от klausteam Посмотреть сообщение
Как сделать так чтобы в столбец ФИО выводилась именно фамилия, а не номер телефона?
выводить именно ФИО, а не номер телефоны

ЗЫ кода своего вы не показали - откуда нам знать как)
0
klausteam
1 / 1 / 1
Регистрация: 08.04.2016
Сообщений: 59
19.09.2017, 16:31  [ТС] 3
Лучший ответ Сообщение было отмечено klausteam как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TSMS.ShowSMS(ASMS: TSMSMessage);
 var
 Item:TListItem;
 s,s1: string;
 F: TextFile;
 FN: string;
 LSMS: TSMSMessage;
 i: integer;
begin
   Delete(ASMS.Time, Length(ASMS.Time)-3, 3);
   s:=ASMS.Time;//получаем время из текста сообщения
   s1:=copy(s,length(s)-10,2)+copy(s,3,length(s)-13)+copy(s,1,2)+copy(s,9,length(s));//оставляем в переменной только дату и время (часы и минуты)
//Заполняем список 
   Item:=SMStxt.Items.Add;
   Item.Caption:=(s1);
   Item.SubItems.Add(ASMS.Number);
   Item.SubItems.Add(ASMS.Text);
end;
В программе процедура заполнения выглядит вот таким образом.
По сути надо найти значение ASMS.Number в ini файле и вставить соответствующее этому значение ФИО

Добавлено через 1 час 16 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
procedure TSMS.ShowSMS(ASMS: TSMSMessage);
 var
 Item:TListItem;
 s,s1,s2,s3,s4: string;
 FN: string;
 LSMS: TSMSMessage;
 i,j: integer;
 L3: TStringList;
begin
   L3:=TStringList.Create;
   Delete(ASMS.Time, Length(ASMS.Time)-3, 3);
   s:=ASMS.Time;
   s1:=copy(s,length(s)-10,2)+copy(s,3,length(s)-13)+copy(s,1,2)+copy(s,9,length(s));
  FN:=ExtractFilePath(ParamStr(0)) + 'Config\Phone.ini';
    if not FileExists(FN) then
      begin
        ShowMessage('File not found!');
        Exit;
      end;
        s2:=ASMS.Number;
        L3.LoadFromFile(FN);
         for I := 0 to L3.Count-1 do
           begin
             s3:='+'+L3.ValueFromIndex[i];
             j:=comparestr(s2,s3);
            if j=0 then
             s4:=L3.Names[i];
              Item:=SMStxt.Items.Add;
              Item.Caption:=(s1);
              Item.SubItems.Add(s4);
              Item.SubItems.Add(ASMS.Text);
          end;
end;
Посидел подумал наваял вот такую штуку, но она дублирует записи и вместо 10 записей я получаю 30

Добавлено через 9 минут
Разобрался!!! Если кому интересно, то у меня вышло вот так!!!
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
procedure TSMS.ShowSMS(ASMS: TSMSMessage);
 var
 Item:TListItem;
 s,s1,s2,s3: string;
 FN: string;
 LSMS: TSMSMessage;
 i,j: integer;
 L3: TStringList;
begin
   L3:=TStringList.Create;
   Delete(ASMS.Time, Length(ASMS.Time)-3, 3);
   s:=ASMS.Time;
   s1:=copy(s,length(s)-10,2)+copy(s,3,length(s)-13)+copy(s,1,2)+copy(s,9,length(s));
    FN:=ExtractFilePath(ParamStr(0)) + 'Config\Phone.ini';
    if not FileExists(FN) then
      begin
        ShowMessage('File not found!');
        Exit;
      end;
        s2:=ASMS.Number;//присваиваем номер полученный в СМС
        L3.LoadFromFile(FN);
         for I := 0 to L3.Count-1 do
           begin
             s3:='+'+L3.ValueFromIndex[i];//присваиваем номер содержащийся в файле
             j:=comparestr(s2,s3); //результат сравнения
            if j=0 then //если строки равны то записываем в List
              begin
              Item:=SMStxt.Items.Add;
              Item.Caption:=(s1);
              Item.SubItems.Add(L3.Names[i]);
              Item.SubItems.Add(ASMS.Text);
              end;
           end;
  L3.Free;
end;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2017, 16:31

По номеру телефона вывести ФИО и адрес абонента
Доброго времени суток, уважаемые форумчане! Очень прошу помочь доработать...

MS Access, VBA, запросы, связи. Как сделать поиск по ФИО и номеру телефона?
Вот в этой базе нужно осуществить поиск пополям ФИО и номер телефона. Я...

Составить программу, которая позволяет найти в телефонном справочнике по номеру телефона ФИО и адрес абонента
Здравствуйте, Уважаемые. Очень срочно нужна Ваша помощь, в решении двух задач....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru