Aracılığıyla paylaş


konsol çıkış işlevlerini Low-Level

Önemli

Bu belgede artık ekosistem yol haritamızın bir parçası olmayan konsol platformu işlevselliği açıklanmaktadır. Bu içeriğin yeni ürünlerde kullanılmasını önermeyiz, ancak süresiz gelecek için mevcut kullanımları desteklemeye devam edeceğiz. Tercih edilen modern çözümümüz, platformlar arası senaryolarda maksimum uyumluluk için sanal terminal dizilerine odaklanır. Bu tasarım kararı hakkında daha fazla bilgiyi klasik konsol ve sanal terminal belgemizde bulabilirsiniz.

Alt düzey konsol çıkış işlevleri, ekran arabelleğinin karakter hücrelerine doğrudan erişim sağlar. Bir işlev kümesi, konsol ekranı arabelleğindeki herhangi bir konumdan başlayarak ardışık hücrelerden okur veya bu hücrelere yazar. Başka bir işlev kümesi dikdörtgen hücre bloklarından okur veya bu bloklara yazar.

Aşağıdaki işlevler, belirtilen hücreden başlayarak bir ekran arabelleğindeki belirli sayıda ardışık karakter hücresinden okur veya bu hücreye yazar.

İşlev Açıklama
ReadConsoleOutputCharacter Ekran arabelleğinden Unicode veya ANSI karakterlerinin dizesini kopyalar.
WriteConsoleOutputCharacter Ekran arabelleğine Unicode veya ANSI karakterlerinden oluşan bir dize yazar.
ReadConsoleOutputAttribute Ekran arabelleğinden metin ve arka plan rengi öznitelikleri dizesini kopyalar.
WriteConsoleOutputAttribute Ekran arabelleğine metin ve arka plan rengi özniteliklerinden oluşan bir dize yazar.
FillConsoleOutputCharacter Ekran arabelleğindeki belirli sayıda ardışık hücreye tek bir Unicode veya ANSI karakteri yazar.
FillConsoleOutputAttribute Ekran arabelleğindeki belirli sayıda ardışık hücreye metin ve arka plan rengi öznitelik bileşimi yazar.

Bu işlevlerin tümü için, satırın son hücresiyle karşılaşıldığında, okuma veya yazma işlemi sonraki satırın ilk hücresine kaydırılır. Konsol ekranı arabelleğinin son satırının sonuyla karşılaşıldığında, yazma işlevleri tüm yazılmamış karakterleri veya öznitelikleri atar ve okuma işlevleri gerçekte yazılmış karakter veya öznitelik sayısını bildirir.

Aşağıdaki işlevler, ekran arabelleğinde belirtilen bir konumdaki karakter hücrelerinin dikdörtgen bloklarından okur veya bu bloklara yazar.

İşlev Açıklama
ReadConsoleOutput Karakter ve renk verilerini belirtilen bir ekran arabelleği hücre bloğundan hedef arabellekteki belirli bir bloğa kopyalar.
WriteConsoleOutput Bir kaynak arabellekteki belirli bir bloktan belirtilen bir ekran arabelleği hücre bloğuna karakter ve renk verileri yazar.

Bu işlevler, ekran arabelleklerini ve kaynak veya hedef arabellekleri CHAR_INFO yapıların iki boyutlu dizileri (her hücre için karakter ve renk özniteliği verilerini içeren) olarak işler. İşlevler, kaynak veya hedef arabelleğin karakter hücrelerinde genişliğini ve yüksekliğini belirtir ve arabelleğe işaret eden işaretçi, iki boyutlu dizinin çıkış hücresi (0,0) işaretçisi olarak değerlendirilir. İşlevler, konsol ekranı arabelleğinde erişilecek dikdörtgeni belirtmek için SMALL_RECT bir yapı kullanır ve kaynak veya hedef arabellekteki sol üst hücrenin koordinatları ilgili dikdörtgenin bu arabellekteki konumunu belirler.

Bu işlevler, belirtilen ekran arabelleği dikdörtgenini konsol ekranı arabelleğinin sınırlarına sığacak şekilde otomatik olarak kırpar. Örneğin, dikdörtgen sağ alt koordinatları belirtiyorsa (sütun 100, satır 50) ve konsol ekranı arabelleği yalnızca 80 sütun genişliğindeyse, koordinatlar olacak şekilde kırpılır (sütun 79, satır 50). Benzer şekilde, bu ayarlanmış dikdörtgen yine kaynak veya hedef arabelleğin sınırlarına sığacak şekilde kırpılır. Okunan veya yazılan gerçek dikdörtgenin ekran arabelleği koordinatları belirtilir. Bu işlevleri kullanan bir örnek için bkz. Karakter ve Özniteliklerin Okuma ve Yazma Blokları.

Çizimde, blok konsol ekranı arabelleğinden okunduğunda ve blok hedef arabelleğe kopyalandığında kırpmanın gerçekleştiği ReadConsoleOutput işlemi gösterilmektedir. İşlev, kopyalanan gerçek ekran arabelleği dikdörtgenini raporlar.

hedef arabelleğe sahip ekran arabelleği penceresi