dosya ismini ayırma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
dosya ismini ayırma
merhaba arkadaşlar ben dosya isimlerini klasörden alıp database yazıyorum.Ama ben bunu bölüp database aktarma istiyorum yardımcı olursanız sevinirim.
procedure TForm1.Button2Click(Sender: TObject);
var
SR : TSearchRec;
xPath : String;
begin
xPath := 'C:\katalog\';
if FindFirst(xPath + '*.bmp', faAnyFile, SR) = 0 then
begin
repeat
if FileExists(xPath + SR.Name) = True then
begin
adotable1.Active:=true;
adoTable1.Insert;
adoTable1bmpname.Value := SR.Name;
adoTable1.Post;
end;
until FindNext(SR) <> 0;
end
else
ShowMessage('Hiç Dosya Bulunamadı');
FindClose(SR);
end;
Kodlarım bunlar
dosya ismi örnek..
bmp12765yyy.bmp
ben ilk bmp yazan kısmı ve .bmp dosya uzantısını aktarmak istemiyorum.
12765yyy db ye aktarmak bunuda 12 koleksyon field ' na 765 isim field nıda ....
yardımlarınız çok teşekkür ederim...
procedure TForm1.Button2Click(Sender: TObject);
var
SR : TSearchRec;
xPath : String;
begin
xPath := 'C:\katalog\';
if FindFirst(xPath + '*.bmp', faAnyFile, SR) = 0 then
begin
repeat
if FileExists(xPath + SR.Name) = True then
begin
adotable1.Active:=true;
adoTable1.Insert;
adoTable1bmpname.Value := SR.Name;
adoTable1.Post;
end;
until FindNext(SR) <> 0;
end
else
ShowMessage('Hiç Dosya Bulunamadı');
FindClose(SR);
end;
Kodlarım bunlar
dosya ismi örnek..
bmp12765yyy.bmp
ben ilk bmp yazan kısmı ve .bmp dosya uzantısını aktarmak istemiyorum.
12765yyy db ye aktarmak bunuda 12 koleksyon field ' na 765 isim field nıda ....
yardımlarınız çok teşekkür ederim...
Merhaba,
Sanırım istediğiniz şöyle bir şey.
Diğer kısmı da Copy ile yapabilirsiniz.
gibi.
Kolay gelsin.
Sanırım istediğiniz şöyle bir şey.
Kod: Tümünü seç
delete(SR.Name,1,3);
delete(SR.Name,length(SR.Name)-3,4);
adoTable1bmpname.Value := SR.Name;
Kod: Tümünü seç
showmessage(copy(sr.name,1,2));
showmessage(copy(sr.name,3,3));
Kolay gelsin.
Merhaba, coderlord arkadaşımızdan öğrendiğimizi biz açıklayalım.
şeklinde yaparsan o da işini görür demek istiyor.
Coderlord hocam teşekkürler sayende bir komutu da kullanmayı öğrendik.
Kolay gelsin.
Kod: Tümünü seç
sr.name:= stringreplace(sr.name,'bmp','',[rfReplaceAll]);
sr.name:= stringreplace(sr.name,'.','',[rfReplaceAll]);
Coderlord hocam teşekkürler sayende bir komutu da kullanmayı öğrendik.
Kolay gelsin.
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
Kod: Tümünü seç
Uses StrUtils;
var
metin,sonuc:AnsiString;
begin
Metin := 'bmp12765yyy.bmp';
Sonuc := Copy(metin,4,8);//4. Karakterden sonraki 8 karakter...
Label1.Caption:=Sonuc; //12765yyy yazar..
end;
Merhaba,
Kontrol için aşağıdaki kodu da yazabilirsin.
sana kalmış bir şey ikisi de iş görüyor. Umarım işini görür.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select kno from personel where kno=:dosyadan_gelen');
adoquery1.Parameters.ParamByName('dosyadan_gelen').Value:=54543;
adoquery1.Open;
if adoquery1.Eof and adoquery1.Bof then
showmessage ('bu kayıt yok ')
else showmessage('boyle bir kayıt var. ');
end;
Kod: Tümünü seç
if adoquery1.RecordCount=0 then
showmessage ('bu kayıt yok ')
else showmessage('boyle bir kayıt var. ');