За vb6

11 отговора 310 прегледа
#1

За vb6

Как мога да обърна примерно някакъв тект огледално

пример - като текста на печат

Отговор
в отговор на Minavasht #2

Re: За vb6

Текста в какво се намира? Абе научете се да излагате проблема цялостно, що ни карате да гадаем на карти?

----------------------------------
помислих, хареса ми, помислих пак...
Отговор
в отговор на Minavasht #3

Re: За vb6

Така да кажеме че имеме една праменлива от тип String и във него например
вкарваме някъкав текст.
Пример - strText ="RRRRRRRRR"
Та значи как може да се обърне текста в променливата огледално и да се искара на печат.











Отговор
в отговор на Minavasht #4

Re: За vb6

Dim strText As String
Dim strOut As String
Dim intCount As Integer

strText = "RRRRRRRRRR"
strOut = Space$(Len(strText))
For intCount = 1 to Len(strText)
Mid$(strOut, Len(strText) - intCount + 1, 1) = Mid$(strText, intCount, 1)
Next intCount

----------------------------------
помислих, хареса ми, помислих пак...
Отговор
в отговор на Щиpлиц #5

това ще обърне само текста

но не и буквите. не знам способите на vb, но може да се ползват апита за отпечатване на текста във device context в паметта, после се върти цикъл и с GetPixel се взема точката x,y и се пише в друго dc на координати width-x-1,y.
не знам vb има ли функция еквивалентна на GetPixel... ако има може и без апита

Отговор
в отговор на Щиpлиц #6

AAaaxaxaxaxax

Ave 6tirlic, 4oveka (mai) iska da kaje tova "RRRRRRR" da stane ogledalen obraz - toest da stane "ЯЯЯЯЯЯЯ" (ako ne vijda6 bg tova e q) ne iska "ReverseString" :)))))))

Zna4i vij pi4 kvo moje6 da napravi6 po vyprosa. Nqma da ti davam kod samo ideq.
"Razpe4atva6" tozi string v PictureBox sys Picture1.Print "RRRRRRRR". Posle minava6 po vsi4ki redove i koloni kydeto se namira tozi tekst (sam trqbva da opredeli6 v kakyv pravoygylnik se namira toi s pomo6ta na Picture1.PictureWidth(strYourStringHere) i Picture1.PictureHeight(strYourStringHere)) i cveta na to4kata v kraq na reda go slaga6 v na4aloto. Vtoriq pixel go pravi6 kato predposledniq v reda, tretiq kato pred predposledniq i taka do kraq na reda. Pravi6 tova sys vsi4ki redove i poly4ava6 ogledalen obraz na tova "RRRR" koeto 6te se poly4i "ЯЯЯЯ". Posle ve4e moje6 da razpe4ata6 tazi 4ast ot Picture1 kydeto se namira obyrnatiq tekst. Vnimavai pri tova polojenie sys .AutoRedraw property na Picture1 - vij pri koq negova stoinost 6te se poly4i - ne sym sigyren no mislq 4e pri ednoto ot dvete nqma da izleze ni6to na printera za6toto pri nego informaciqta za izobrajenieto na Picture1 se pazi na GDI (na ekrana) i ako se opita6 da razpe4ata6 nqma da izleze ni6to. Pri drygata stoinost izobrajenieto osven 4e se pokazva na GDI (ekrana), no to si ima i kopie v pametta otdelena za Picture1. Togava ve4e 6te izleze na printera.
Vtorata (po-dobra no po-trydna za izpylnenie) ideq e sled kato "obyrne6" obraza vyrhy Picture 1 da si zapazi6 koordinatite i cvetovete na vsi4ki to4ki vyv vyobrajaemiq pravoygylnik kydeto se namira (ve4e) obyrnatiq nadpis v nqkakyv masiv. Sled tova tozi masiv sys koordinatite i cvetovete na to4kite go razpe4atva6 direktno na printera s Printer.CurrentX,Printer.CurrentY, Printer.Pset i Printer.EndDoc. Tozi metod oba4e 6te e dobyr za malki masivi ot to4ki - naprimer ne-pove4e ot 5000 to4ki no pyk 6te byde s po-dobro ka4estvo pe4ata. Ako razpe4ata6 direktrno sydyrjanieto na Picture1 6te izleze sys razdelitelna sposobnost 96 pixela na inch (kolkoto e razdelitelnata sposobnost na ekrana) koeto moje i da ne te zadovoli. Ne sym go probval tova za tekst no direktno s printera ako se opitva6 da pe4ata6 po tozi na4in moje i da se poqvqt "dypki" :)) Horata sa izmislili vektornata grafika i TTF 6riftovete :)) Ako iska6 naistina dobyr pe4at s golqma razdelitelna sposobnost i bez "dypki" 6te trqbva da se nay4i6 kakvo predstavlqvat TTF 6riftovete i da 4ertae6 "krivi" vyrhy printera, koito predstavlqvat syotvetnata bykva. Estestveno za tvoqta cel tezi krivi trqbva da sa ogledalni obrazi na originalite - 6te trqbva i malko matematika nqma kak :))

Haide sys zdrave. Zahvanal si se sys zada4a, koqto moje da se re6i s pomo6ta na drygi specializirani za celta programi (kato CorelDraw naprimer). Ako mnogo nastoqva6 tova da go napravi6 na VB 6te se ozori6 :)

Yspex i mi kaji kakvo misli6 za ideite koito ti dadoh. Ako ima6 ne6to neqsno pi6i :))



Отговор
в отговор на Georgi #7

Re: AAaaxaxaxaxax

Точно това искам да кажа

Отговор
в отговор на Minavasht #8

Re: AAaaxaxaxaxax

Koe ot vsi4kite ne6ta deto ti nadrynkah ve ? :)))) xe x e x e



Отговор
в отговор на Minavasht #9

Re: AAaaxaxaxaxax

Ще го пробвам този вариан ама утре са съм на работа


Отговор
в отговор на Georgi #10

Re: AAaaxaxaxaxax

Vsy6tnost, sega kato se zamislq nqma da se poqvqt "dypki" ami mai teksta 6te e mnogo po-malyk ot tozi, koito vijda6 v Picture1 za6toto tam pixela e dosta po-edri4yk ot "pixela" vyrhy printera :))))))

Haide po-dobre probvai sys nqkakyv skript na CorelDraw (tam se izpolzva VBA) da go napravi6 tova - mnogo po-dobre i po-lesno 6te stane :))



Отговор
в отговор на Georgi #11

Re: AAaaxaxaxaxax

Аве, Георге, аз на гадател ли ти приличам? Глей ко' е писал човеко: "да се обърне текста в променливата".

ОК, ок, не се оправдавам. Слес работа пак ще намина оттука, и ще видим какво може да се напише по въпроса.

----------------------------------
помислих, хареса ми, помислих пак...
Отговор
в отговор на Щиpлиц #12

Re: AAaaxaxaxaxax

EEexexe ti pyk ko sa mysi6 ve 6tirlic :) az tyi si prikazvam, ne mi obry6tai vnimanie mnogo mnogo :))))

Отговор