
Cxgridin bir sütununu stringliste kopyalama-Sms(Çözüldü)
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Cxgridin bir sütununu stringliste kopyalama-Sms(Çözüldü)
Herkese kolay gelsin. Benim sorunum Cxgridin bir sütununu(Gsm numaraları olan bir alanı) stringliste aralarına "," koyarak kopyalamayı (haftabaşı olduğundanmıdır yoksa benim bilgisizliğim ve beceriksizliğim midir -belkide hepsi
) yapamadım bir türlü. Ya da datasetin bir fieldını kullanarak Mobildevin xml altyapısını kullanarak sms atabilen arkadaşlar varsa yardımlarını rica ediyorum. Daha öncede bu konu tartışılmış ama listbox üzerinde yoğunlaşılmış. Bu konuda yardımcı olacak arkadaşlar varsa sevinirim. Hepinize güzel bir hafta dilerim.İyi çalışmalar.

En son eyalin tarafından 18 Ağu 2009 02:51 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Re: Cxgridin bir sütununu stringliste kopyalama-Sms
Kod: Tümünü seç
procedure Tfrmyarin.btnsmsgonderClick(Sender: TObject);
var
i,j:integer;
sonuc,number,mesaj,uname,pass,kod:string;
numberlist:TStringList;
//numaralar:TListBox;
begin
if hatirlatma1.DataController.RecordCount<1 then
begin
MessageBox(Handle,'Hatırlatma gönderilecek kayıt bulunmamaktadır. ','Bilgi',MB_OK+MB_ICONINFORMATION);
exit;
end;
numberlist:=TStringList.Create;
for j :=0 to hatirlatma1.ViewData.RecordCount-1 do
begin
numberlist.Add(hatirlatma1.ViewData.Records[j].Values[hatirlatma1.GetColumnByFieldName('Gsm').Index]);//Access violation
End;
number:=numberlist.Strings[0];
for i := 0 to numberlist.Count-1 do
begin
Number:=number+','+numberlist.Strings[i];
numberlist.Free;
end;
Re: Cxgridin bir sütununu stringliste kopyalama-Sms
Aşağıdaki kod değişikliği ile çalıştı.Şu an sorun yok.
Ben en güzeli mobildev xml apisi ile cxgridten verileri alıp sms atmayı tamamen yazayım belki ihtiyacı olan arkadaşlar olur.
Bu kodu battosai arkadaşımız bir konuda yazmıştı.Ben sadece listbox kullanmak yerine,cxgridteki alanı stringliste aktararak sms atmış oldum. Battosai'ye ve okuyan arkadaşlara teşekkürler.
Kod: Tümünü seç
numberlist:=TStringList.Create;
for j :=0 to hatirlatma1.DataController.RecordCount-1 do
begin
numberlist.Add(hatirlatma1.ViewData.Records[j].Values[hatirlatma1.Columns[4].index]);
End;
number:=numberlist.Strings[0];
for i := 1 to numberlist.Count-1 do
begin
Number:=number+','+numberlist.Strings[i];
end;
Bu kodu battosai arkadaşımız bir konuda yazmıştı.Ben sadece listbox kullanmak yerine,cxgridteki alanı stringliste aktararak sms atmış oldum. Battosai'ye ve okuyan arkadaşlara teşekkürler.
Kod: Tümünü seç
procedure Tfrmyarin.btnsmsgonderClick(Sender: TObject);
var
i,j:integer;
sonuc,number,uname,pass,kod:string;
numberlist:TStringList;
//numaralar:TListBox;
begin
try
if hatirlatma1.DataController.RecordCount<1 then
begin
MessageBox(Handle,'Hatırlatma gönderilecek kayıt bulunmamaktadır. ','Bilgi',MB_OK+MB_ICONINFORMATION);
exit;
end;
numberlist:=TStringList.Create;
for j :=0 to hatirlatma1.DataController.RecordCount-1 do
begin
numberlist.Add(hatirlatma1.ViewData.Records[j].Values[hatirlatma1.Columns[4].index]);
End;
number:=numberlist.Strings[0];
for i := 1 to numberlist.Count-1 do
begin
Number:=number+','+numberlist.Strings[i];
end;
uname:='Mobildev_kullanici_adiniz';
pass:='Mobildev_Password';
kod:='Mobildev_kod';
strXML:='<MainmsgBody>'+
'<UserName>'+uname+'-mb'+kod+'</UserName>'+
'<PassWord>'+pass+'</PassWord>'+
'<Action>0</Action>'+
'<Mesgbody>Yarin randevunuz saat '+TimeToStr(hatirlatma1Tarih.EditValue)+'olarak kaydedilmiştir.Iyi gunler dileriz.''</Mesgbody>'+
'<Numbers>'+number+'</Numbers>'+
'<Originator></Originator>'+
'<SDate></SDate>'+
'</MainmsgBody>';
ShowMessage(strXml);
screen.Cursor:=crHourGlass;
cxListBox1.Clear;
cxListBox1.Items.Add('İşlem Raporu:');
cxListBox1.Items.Add('->'+DateToStr(date)+'-'+copy(TimeToStr(time),1,5));
sonuc:=Trim(smsgonder('http://gateway.mobilus.net/com.mobilus',strXML));
numberlist.Clear;
numberlist.Free;
if sonuc='' then
begin
cxListBox1.Items.Add('->Mesaj İletilemedi !');
cxListBox1.Items.Add('->Açıklama:Bağlantı zaman aşımı');
end;
if sonuc='01' then
begin
cxListBox1.Items.Add('->Mesaj İletilemedi !');
cxListBox1.Items.Add('->Açıklama:Hatalı kullanıcı adı – şifre – bayi kodu');
end;
if sonuc='02' then
begin
cxListBox1.Items.Add('->Mesaj İletilemedi !');
cxListBox1.Items.Add('->Açıklama:Yetersiz kredi,Paket işlenmemiş ya da Gateway tarafında beklemede');
end;
if sonuc='04' then
begin
cxListBox1.Items.Add('->Mesaj İletilemedi !');
cxListBox1.Items.Add('->Açıklama:Eksik parametre girişi');
end;
if sonuc='05' then
begin
cxListBox1.Items.Add('->Mesaj İletilemedi !');
cxListBox1.Items.Add('->Açıklama:Hatalı parametre girişi');
end;
if sonuc='06' then
begin
cxListBox1.Items.Add('->Mesaj İletilemedi !');
cxListBox1.Items.Add('->Açıklama:Tanımsız Originator bilgisi');
end;
if sonuc='10' then
begin
cxListBox1.Items.Add('->Mesaj İletilemedi !');
cxListBox1.Items.Add('->Tekrar Deneyiniz.');
end;
if (AnsiCompareText('3152005',sonuc)<0)or (AnsiCompareText('3152005',sonuc)=0) then
begin
cxListBox1.Items.Add('->Mesajınız İletilmiştir.');
end;
screen.Cursor:=crDefault;
except
on E:Exception do
begin
screen.Cursor:=crDefault;
ShowMessage(e.Message);
//MessageBox(handle,'Servis sağlayıcıya bağlanılamadı.'+#10#13+'İnternet bağlantınızı kontrol ediniz.'+#10#13+'Antivirüs programı kullanıyorsanız programın internete erişimine izin verin.','Hata',mb_ok+MB_ICONERROR);
end;
end;
end;