הפיכת CString ל UNICODE לצורך הדפסה

NORT

New member
הפיכת CString ל UNICODE לצורך הדפסה

אני צריך לשלוח להדפסה (במדפסת) מידע בעיברית . ניסיתי לשלוח את זה בתור CString אבל יוצא לי גיבריש כל הזמן. אז חשבתי להפוך את זה ל UNICODE לפני השליחה להדפסה(כשאני מדפיס STRING באנגלית אז הכל יוצא תקין) . חיפסתי ב MSDN וב GOOGLE איך אני הופך ל UNICODE ,אבל אני לא מבין את מה שמוסבר שם. מישהו יכול לעזור ?
 

codec

New member
כמה דברים

1) איפה חיפשת ב-MSDN? 2) אני מקווה שזה לא המקום, אבל בקישור הזה מסבירים על MACRO-ים למעבר בין UNICODE ל-ASCII וההיפך. 3) קיימות גם הפונקציות MultiByteToWideChar ו- WideCharToMultiByte, ואתה יכול להשתמש בהן ישירות. ולסיכום: איך אתה שולח את ה-CString להדפסה שהוא יוצא דפוק?
 

NORT

New member
שליחת המידע למדפסת

נעשה על פי מה שמצאתי בלינק הזה : http://www.codeproject.com/printing/printing_wo_docview.asp במתודה OnPrint אני מבצע כך :
void CShowData::OnPrint(CDC *p, CPrintInfo* i) { p->TextOut(10,10,m_printJobOut); i->SetMaxPage(1); } כאשר m_printJobOut הוא המשתנה המחזיק את ה CString . בדקתי ע"י DEBUG שאכן במשתנה הנ"ל אני מקבל את מה שאני צריך (להזכיר שמה שיש שם איננו באנגלית אלה בעיברית) ואכן המשתנה שומר לי את הנידרש. כשאני שולח באותה דרך למדפסת מידע ו m_printJobOut שומר לי CString באנגלית , אז ההדפסה יוצאת בסדר גמור. הבעיה היא רק בעיברית.​
 
למעלה