|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.02.2012, 07:28 | #1 |
Регистрация: 28.02.2011
Сообщений: 5
|
Проблема с отправкой файла *.wav
Здравствуйте!
Смысл: Записывать 10 мин. аудио в "дата+время.wav" файл, после чего отправлять его на некий адрес посредством IdSMTP. Всё играет, но... Проблема: Проходят 10 мин. приходит первый файл, проходит еще 10 мин. и по идее должен придти второй, ан нет приходит и первый и второй (т.е. 2 файла), проходит еще 10 мин. и в ящике письмо уже с тремя файлами. Пытался удалять старый файл, но ругается, мол файл не найден. Вот код: procedure TForm1.Timer1Timer(Sender: TObject); var verz: String; nameF: String; i:integer; begin label1.Caption:=inttostr(strtoint(l abel1.Caption)+1); mciSendString('STOP mysound', nil, 0, Handle); GetDir(0, verz); times:=(copy(timetostr(time),1,2))+ (copy(timetostr(time),4,2)); if times[2]=':' then times:='0'+times[1]+(copy(timetostr(time),3,2)); dates:=(copy(datetostr(date),1,2))+ (copy(datetostr(date),4,2)); nameF:=dates+times+'.wav'; mciSendString(PChar('SAVE mysound ' + verz +'/'+nameF), nil, 0, Handle); mciSendString('CLOSE mysound', nil, 0, Handle); mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound', nil, 0, Handle); mciSendString('SET mysound TIME FORMAT MS ' + // set time 'BITSPERSAMPLE 8 ' + // 8 Bit 'CHANNELS 1 ' + // MONO 'SAMPLESPERSEC 8000 ' + // 8 KHz 'BYTESPERSEC 8000', // 8000 Bytes/s nil, 0, Handle); mciSendString('RECORD mysound', nil, 0, Handle); //setup SMTP - ПЕРЕДАЧА ФАЙЛА ========================-> SMTP.Host := 'smtp.mail.ru'; SMTP.Port := 25; //setup mail message MailMessage.From.Address := 'pochta@mail.ru'; MailMessage.Recipients.EMailAddress es := 'support@cybercore.com.ua'; MailMessage.Subject := 'File - '+verz+'/'+nameF; MailMessage.Body.Text := 'Date - '+datetostr(date)+' Time - '+timetostr(time); StatusMemo.Lines.Insert(0, 'File: ' + nameF); label2.Caption:=pChar(nameF); if FileExists(nameF) then TIdAttachment.Create(MailMessage.Me ssageParts, nameF) ; //send mail try try SMTP.Connect(1000) ; SMTP.Send(MailMessage) ; <-- вот здесь прога останавливается except on E:Exception do StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message); end; finally if SMTP.Connected then SMTP.Disconnect; end; timer1.Enabled:=true; deletefile(nameF); end; Видимо что-то с указателями в PChar. Подскажите может кто встречался с подобной проблемой. Мудрёно как то, не думал что в этом проблема будет... Заранее благодарен.
Безумие означает продолжать делать то же самое и ожидать другого результата. (Эйнштейн)
|
04.02.2012, 11:25 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну причина в том что вы не очищаете сообщение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
04.02.2012, 22:42 | #3 |
Регистрация: 28.02.2011
Сообщений: 5
|
Пепел Феникса, подскажите как это можно сделать? я так понимаю новое значение прибавляется к предыдущему, а нужно что бы после передачи очищалось имя файла для аттача...
Безумие означает продолжать делать то же самое и ожидать другого результата. (Эйнштейн)
|
07.02.2012, 03:09 | #4 |
Форумчанин
Регистрация: 08.06.2011
Сообщений: 103
|
Попробуйте IdMessage1.Clear;
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
|
09.02.2012, 04:20 | #5 |
Регистрация: 28.02.2011
Сообщений: 5
|
Den7656, спасибо, все заиграло не там искал ваще...
Безумие означает продолжать делать то же самое и ожидать другого результата. (Эйнштейн)
Последний раз редактировалось sky132; 09.02.2012 в 04:23. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с отправкой почты. | DeDoK | Работа с сетью в Delphi | 0 | 12.12.2010 19:05 |
Проблема с отправкой письма. | Mollerat | Работа с сетью в Delphi | 1 | 31.10.2010 20:21 |
Проблема с отправкой почты | Genesis | PHP | 2 | 18.05.2009 15:35 |