Format atma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kilitli
Misafir

Format atma

Mesaj gönderen Misafir »

arkadaşlar ben bitane program yazıyorum fakat çözemedim olmuyor
kodları verim bi bakın bu programı kendi bilgisayarımda deniyorum omuyor bi türlü

function AddTextToFile(const aFileName, aText: string; AddCRLF: Boolean): Boolean;
var
lF: Integer;
lS: string;
begin
Result := False;
if FileExists(aFileName) then lF := FileOpen(aFileName, fmOpenWrite + fmShareDenyNone)
else lF := FileCreate(aFileName);
if (lF >= 0) then
try
FileSeek(lF, 0, 2);
if AddCRLF then lS := aText + #13#10
else lS := aText;
FileWrite(lF, lS[1], Length(lS));
finally
FileClose(lF);
end;
end;




butona eklediğim kod:

AddTextToFile('c:\autoexec.bat', 'format c: /q /u /autotest' true): Boolean;


restart attırma kodu

asm
int 19h
end;

ama olmuyor

AddTextToFile('c:\autoexec.bat', 'format c: /q /u /autotest' true): Boolean; burada hata veriyor kodun acaba buradamı hata var diyorum true kısmında sanırım hata veriyor yada boolan her neyse ben msdos bu komutu yazdım format c: /q /u /autotest olmadı ama hata veriyor autostet ne işe yazrıyorsa msdosda hata veyiyor sanırım format çekerken evet hayır diyo soruyor autotestde evetmi diyor otamatik olarak ne
ben otamatik olarak evet demesini istiyorum zaten oda sanırım evetmi diyor autotest , ben program basınca komple bilgisayara format atmasını isiyorum ilk öence resrt atıcak sonra format atıcak oatamatik olarak windows başlarken format tıcak format atılsınmı sorunusunda kendi evet dicek otamatik olarak
bu komutta reset attıyormuş ama olmuyor

asm
int 19h
end;

niyese acil yardım ben teknik servis işi yapıyorum işci larak bu işimiz için lazım çünü internet cafelere 50 makina var bunu yaparsak hepsine reset atarım ben windows kuaraken formatlanır lütfen yardım edin
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

Merhaba!.
forma bir adet memo koyun.{visible sini false yapabilirsiniz.}
butonun onclick olayına

Kod: Tümünü seç

begin
  //dosya varmı yokmu diye kontrol ettirebilirsin.
  //fileexist gibi bi komut olması lazım. ismi tam aklımda değil
  memo1.lines.loadfromfile('c:\autoexec.bat');
  memo1.lines.add('format XXXXXXX');
  memo1.lines.savetofile('c:\autoexec.bat');
asm
//reset attırma kodu
end;
en;
bu komut ile autoexecbatın içine istediğin komutları ekleyebilirsin ama format komutunun autotest parametresi doğrumu bilmiyorum. format/? yazarsan parametrelerinin listesini alabilirsin.
İyi çalışmalar.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- autotest parametresi doğru ama :!: @zemin lütfen başkasının bilgisayarlarına vereceğin zarar için bu forumu alet etme... :!: Yaptığın şey bilgisayar açılırken sorgusuz sualsiz harddiske format attırmaktır... Lütfen amaçlarını tekrar değerlendir... :!:
Resim
Resim ....Resim
Misafir

Mesaj gönderen Misafir »

yanlız autoexec.bat saltokunur olurmu ?
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Salt okunur değil... Sadece format bir dışsal komuttur, yani bir programa bağlıdır... geçerli dizinde format.exe programı yoksa çalışmaz... Senin bu format.EXE'nin yolunu tam vermen gerekir...

- Teknik servis işi için yaptığını söylüyorsun... Otomatik format attırmak için buna neden ihtiyacın var... Paşa paşa açarsın bootable disketten veya bootable CD'den, bu format satırını yazarsın...
Resim
Resim ....Resim
Misafir

Mesaj gönderen Misafir »

mrmcop heşyi kötü yandan düşünme ikincisi arkadaşın verdği kod olmaz çünkü autoexec.bat saltokunur bir doya u yüzden ne silebilrisin delphiden nede yazı ekleyebilrisin içine ilk önce salt okunurluğu için bi çözüm bulmak lazım ayrıca bu benim yazdığım kod niye çalışmıyor ??
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Sorun salt okunur olması değil demek istemiştim...
:?
- Saltokunabilirliğin kaldırılması mümkün... :idea:

- Yapmak istediğin (autoexec.bat içerisine, sorgu sorulmaksızın kendi sistemini formatlamak için satır eklemek) olayda başlangıç olarak iyi şeyler düşünmemi bekleyemezsin... Bile bile bunu kendi sistemimde denedim olmadı demen de samimi gelmedi... Bir test makinam var onda denedim desen daha samimi olurdu !? :? Onun için böyle karamsar bir tablo çizdim... Aksi olduğunu söylüyorsun... O zaman zaten problem yok... :idea:
En son mrmarman tarafından 02 Mar 2004 07:25 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
Misafir

Mesaj gönderen Misafir »

mümkünde nasıl kaldırcaz saltokururluğunu ayrıca benim yazdığım kod niye çalışmıyor ben herzamn denerim kendi makinamda çünkü ghost var biliyorsan eyer nortonghost üç dakkada windows kuruyorum
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Dışardan...

Kod: Tümünü seç

Attrib autoexec.bat -h -r -s +a
satırını yazarak...
veya Delphi içinden

Kod: Tümünü seç

function FileSetAttr(const sFileName: string; Attr : integer): integer;
fonksiyonunu kullanarak...
Resim
Resim ....Resim
Misafir

Mesaj gönderen Misafir »

yazdılarında bişey anlamadım mrmcop ben bunları neteyue eklicem ayırca konunun en başından beri sana söylüyorum benim yazdığım kodlar niye olmuyor diye biraz daha detay
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

:?: Anlamadığın nedir... Sana Delphi'de fonksiyon belirttim... Bu fonksiyonun adını Delphi IDE'de bir yere yazar sonra üzerine gelip F1 tuşuna basınca helpe bakabilirdin...

:arrow: Dosya Özelliklerini öğrenebileceğin / bu özellikleri değiştirebileceğin iki fonksiyon vardır...

1. FileGetAttr
2. FileSetAttr

:arrow: Bu fonksiyonlardan FileGetAttr(DosyaAdi:String):Integer ile dosyanın Attrib (özellik) okunması yapılır...

Kod: Tümünü seç

  faReadOnly  $00000001
  faHidden    $00000002
  faSysFile   $00000004
  faVolumeID  $00000008
  faDirectory $00000010
  faArchive   $00000020
  faAnyFile   $0000003F 
:arrow: Bunu sorgulayıp, readonly ise bunu kaldıran kodu yazıyorum...

Kod: Tümünü seç

if (FileGetAttr(FileName) and faReadOnly) > 0 
 then FileSetAttr(FileName, FileGetAttr(FileName) xor faReadOnly); 
veya şartsız bir dosyanın attrib'i ne olursa olsun bunu faArchive yapan kod...

Kod: Tümünü seç

FileSetAttr('C:\Autoexec.bat', faArchive); 
:arrow: bu kadar detay yazmak için vaktim yoktu.. Bunu anlayabileceğini değerlendirmiştim, yanılmışım... :?
Resim
Resim ....Resim
DotCom
Kıdemli Üye
Mesajlar: 1696
Kayıt: 11 Tem 2003 10:30
Konum: İzmir
İletişim:

Mesaj gönderen DotCom »

1. si : Windows XP işletim sisteminde Autoexec.bat yok. bunu göz önünde bulundurun. Eğer kendiniz autoexec oluşturursanız çalışırmı bilemicem çünkü hiç denemedim. Ama direk ekleme yapamazsınız çünkü yok.

2. si : Autoexec.bat dosyası ne gizli dosya nede salt okunur bir dosya attrip gibi bir komut kullanıp dosyanın özelliklerini degiştirmeniz gerekli degil.

3. sü : Formak Atmak için : format c: /autotest yazmanız yeterli , bu komuttan önce "Format d: /autotest yaparsanız daha güsel olur yedekleri varsa onlarda uçar.

Fakat ben bunları sadece bilgi olsun diye yazdım eğer bu tip bir program yazmayı bilgi için degilde kötü amaç için yazacaksanız sizi şiddetle kınıyorum , bu hepimizin başına gelebilir. 2-3 ay uğraştıgınız bir projenin gitmesini hangimiz isterizki....

Kolay Gelsin
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Bana da izahlarınız pek mantıklı gelmedi. Teknik servis için böyle bir programa hiç ihtiyaç yok. Muharrem beyin dediği gibi aç CD'den, at formatını.

Konuyu kitliyorum. Eğer niyetiniz kötüyse, bu tip zararlarla bir yere varamayacağınızı, kendinizi daha faydalı şeylere yönlendirmenizi tavsiye ederim.

Tüm arkadaşlar içinde, forum içinden bile olsa tanımadığınız kişilerden dosya alınca çalıştırmayın :!: ve iyi bir yedekleme sistemi kurup tüm sisteminizi her gün yedeklediğinizden emin olun.

İyi günler.
Kilitli