IceHead |
Отправлено: 10.12.2006, 11:29 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 11
|
Необходимо запистать в текстовый файл вот такие данные:
(Данный из Файла); "Текст, (вставка данных из файла) опять текст (вставка данных из массива)".
Как это можно реализовать, подскажите пожалуйста. |
|
olegenty |
Отправлено: 10.12.2006, 11:36 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
я б XML использовал для этого, просто потому что собственные форматы поддерживать сложнее (трудоёмкость больше)
|
|
IceHead |
Отправлено: 10.12.2006, 14:17 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 11
|
Не могу. Я пишу программку по отправке sms, вот в ней необходимо формировать текстовый файл для отправки. |
|
Romikgy |
Отправлено: 10.12.2006, 20:42 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
А я не понял какой формат те нужен? |
|
IceHead |
Отправлено: 10.12.2006, 23:24 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 11
|
У меня есть файл с базой где указаны Фамилии, номер телефонов, адреса людей. И существует база из которой информация выгружается в текстовый файл. Мне нужно сформировать текстовый файл определенного формата, для того чтобы можно было отправить его ввиде sms. У меня щас не получается из файла с базой выдрать нужную информацию в различные переменные, т.е. Я например знаю фамилию и мне нужно по фамилии найти этого человека и сохранить в отдельную переменную его номер и в отделную переменную его адрес. Как можно проще это осуществить? Хотелось бы узнать как это можно сделать в Memo и в С. |
|
Romikgy |
Отправлено: 11.12.2006, 00:04 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
Формат файлов представь , а то говорить можно многое |
|
IceHead |
Отправлено: 11.12.2006, 09:34 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 11
|
Пример:
89109233333; Уважаемый "вставка из файла" на вашем счету "вставка из файла".
Номер телефона и баланс счета должен определяется по Фамилии из файла и сохраняться номер телефона в переменную tel, а баланс в bal. |
|
Romikgy |
Отправлено: 11.12.2006, 10:41 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
Дык мя и интересует формат файлов с фамилиями и номерами и балансами ,
а внешнее сообщение ты и сам слепить сможешь из переменых
QUOTE | переменную tel, а баланс в bal. | |
|
IceHead |
Отправлено: 11.12.2006, 11:12 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 11
|
QUOTE |
Дык мя и интересует формат файлов с фамилиями и номерами и балансами ,
а внешнее сообщение ты и сам слепить сможешь из переменых
|
Обычный текстовый файл с табуляцией. |
|
olegenty |
Отправлено: 11.12.2006, 11:23 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
если данные берется из базы, то на стороне сервера пишешь
CODE |
select
'Уважаемый, '
+ p.Name
+ ', на вашем счету '
+ a.Amount
+ ' бабла'
from
Person p inner join Account a on p.PersonID = a.PersonID
where
[conditions]
|
а на клиенте получаешь и льёшь в файло.
|
|
Romikgy |
Отправлено: 11.12.2006, 12:40 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 72
|
QUOTE (IceHead @ 11.12.2006, 10:12) | QUOTE |
Дык мя и интересует формат файлов с фамилиями и номерами и балансами ,
а внешнее сообщение ты и сам слепить сможешь из переменых
|
Обычный текстовый файл с табуляцией. |
ну тогда и работай как с обычным файлом |
|
IceHead |
Отправлено: 11.12.2006, 14:19 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 11
|
QUOTE |
ну тогда и работай как с обычным файлом |
Если бы я знал то не писал тут. |
|
olegenty |
Отправлено: 11.12.2006, 14:40 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
это можно сделать, например, при помощи ofstream. RTFM.
|
|
Shagg |
Отправлено: 11.12.2006, 17:59 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 69
|
Можно использовать шаблоны сообщений. Например:
CODE | Уважаемый <name>. На вашем счету осталось <bal>$. |
Тогда функция формирования сообщения выглядела бы так:
CODE | AnsiString GetSMS(TADOQuery *ADOQuery, const AnsString Name, const AnsiString TplStr)
{
ADOQuery->SQL->Text = "select bal from t_bal where name = '"+Name+"'";
ADOQuery->Open();
AnsiString bal = ADOQuery->FieldByName("bal")->AsFloat;
ADOQuery->Close();
AnsiString s = TplStr;
int pos;
while ((pos = s.AnsiPos("<name>")) > 0)
{
s.Delete(pos, 6);
s.Insert(Name, pos);
}
while ((pos = s.AnsiPos("<bal>")) > 0)
{
s.Delete(pos, 5);
s.Insert(Name, pos);
}
return s;
}
| |
|
IceHead |
Отправлено: 12.12.2006, 14:51 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 11
|
Спасибо. Я решил проблему. |
|