View Full Version : سوال: نمایش حروف فارسی به صورا جدا
mosi20
یک شنبه 21 تیر 1388, 13:37 عصر
سلام
من یه تازه کار هستم
تاریخ فارسی را توی برنامم آوردم ولی حروف فارسی را جدا نشون میده
ولی توی خود نمونه ی تاریخ فارسی همه چیزش درسته
چیکار باید بکنم؟
java.source.ir
دوشنبه 22 تیر 1388, 17:54 عصر
سلام
دوست عزیز اگر اطلاعات را از بانک اطلاعاتی در حال گرفتن هستی و می خواهی آنها را در فرم خود یا صفحه وب به نمایش بگذاری؛ با انجام یکی از دو کار زیر، مشکلت مرتفع می گردد:
1- اگر اطلاعات مربوطه را به صورت دستی و جدای از هرگونه واسطه ای به بانک اطلاعاتی وارد می کنی باید برای وارد نمودن حرف "ی" از کلیدهای shift+x استفاده کنی.
2- اگر اطلاعات مربوطه از طریق برنامه وارد بانک اطلاعاتی شده و سپس شما قصد نمایش اطلاعات را از طریق آن دارید به شما پیشنهاد مطالعه مقاله ای با عنوان "نحوه نمایش اطلاعات فارسی در JSP" را از سایت http://www.iranjavaref.ir می دهم.
موفق باشید.
mosi20
یک شنبه 28 تیر 1388, 09:52 صبح
سلام
نه این جوریا که گفتی نیست
من کلاس تاریخ فارسی را توی برنامم صدا زدم ولی توی برنامه ی من حروفش را جدا نشون میده ولی توی نمونه ای که خود تاریخ فارسی داره که تعداد فایلهاش زیاده خیلی راحت فارسی را به درستی نشون میده
mosi20
یک شنبه 28 تیر 1388, 09:55 صبح
یه چیز دیگه من اصلا برنامم تحت وب نیست
یه برنامه ی ساده هست که روی دسکتاپ اجرا میشه
java.source.ir
یک شنبه 28 تیر 1388, 11:36 صبح
سلام
راستش دقیقا نمی دونم که چه راه حلی برای اینکار وجود دارد. اگر برات مقدور بود کوچک شده برنامه ات را برام بفرست تا به امید خدا بتوانم آن را رفع نمایم. چون در برنامه های desktop اینکار را انجام داده ام و مشکلی نداشتم.
موفق باشید.
mosi20
چهارشنبه 31 تیر 1388, 01:01 صبح
این کل کد این فایل من هست
فقط اگه مشکلی داره بهم نخندید چون تازه کار هستم
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author mohsen
*/
import java.util.Date;
import com.ibm.icu.util.TimeZone;
import com.ibm.icu.util.ULocale;
import com.ibm.icu.text.DateFormat;
import com.ghasemkiani.util.icu.PersianCalendar;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
public class farsidate {
private final static String davari_farsi_date ( ) {
PersianCalendar pc = new PersianCalendar(TimeZone.getTimeZone("Asia/Tehran"));
DateFormat df = pc.getDateTimeFormat(DateFormat.FULL, DateFormat.DEFAULT, new ULocale("fa", "IR", ""));
return df.format(new Date() ) ;
}
public static void main(String[] args) {
new namayesh( davari_farsi_date ( ) ).setVisible(true);
}
}
class namayesh extends JFrame {
public namayesh( String note ) {
super("namayesh");
setDefaultCloseOperation(WindowConstants.EXIT_ON_C LOSE);
setLayout(new BorderLayout());
add(new JLabel( note ));
pack();
}
}
java.source.ir
چهارشنبه 31 تیر 1388, 10:10 صبح
سلام
ما اینجا برای خندیدن به دیگران نیامده ایم. آمده ایم که چیزی یاد بگیریم و یا اینکه اگر توانستیم گره از مشکل دیگران باز کنیم. پس هرگز به خاطر تمسخر دیگران از سوال پرسیدن نترسید.
کدهای شما را دیدم ولی به دلیل اینکه بسته های زیر را برایم نفرستاده بودید نتوانستم آن را اجرا کنم:
import com.ibm.icu.util.TimeZone;
import com.ibm.icu.util.ULocale;
import com.ibm.icu.text.DateFormat;
import com.ghasemkiani.util.icu.PersianCalendar;
*** اگر مقدور بود فایلهای مربوط به بسته های فوق را برایم بفرستید. ***
اما برایتان یک برنامه نوشتم که کارتان را راه بیندازد. این برنامه به شرح زیر است:
این کلاس عمل تبدیل تاریخ میلادی به هجری/شمسی را انجام می دهد:
import java.io.*;
import java.util.*;
public class ConvertDate implements Serializable
{
static Date date = new Date();
static int week = date.getDay();
static int month = date.getMonth();
static int day = date.getDate();
static int year = date.getYear();
public static String gregorian_to_jalali(int gy1,int gm1,int gd1 ) {
int g_days_in_month[]=new int[]{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int j_days_in_month[]=new int[]{31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29};
int gy=gy1-1600;
int gm=gm1-1;
int gd=gd1-1;
int g_day_no =
365*gy+doubleToInt((gy+3)/4)-doubleToInt((gy+99)/100)+
doubleToInt((gy+399)/400);
int i;
for (i=0;i<gm;++i)
g_day_no += g_days_in_month[i];
if (gm>1 && ((gy%4==0 && gy%100!=0) || (gy%400==0)))
g_day_no++;
g_day_no += gd;
int j_day_no = g_day_no-79;
int j_np = doubleToInt(j_day_no/12053);
j_day_no = j_day_no % 12053;
int jy = 979+33*j_np+4*doubleToInt(j_day_no/1461);
j_day_no %= 1461;
if (j_day_no >= 366)
{
jy += doubleToInt((j_day_no-1)/365);
j_day_no = (j_day_no-1)%365;
}
for (i = 0; i < 11 && j_day_no >= j_days_in_month[i]; ++i)
j_day_no -= j_days_in_month[i];
int jm = i+1;
String s = null;
String w = null;
switch(week) {
case 0:
w = "يکشنبه";
break;
case 1:
w = "دوشنبه";
break;
case 2:
w = "سه شنبه";
break;
case 3:
w = "چهارشنبه";
break;
case 4:
w = "پنجشنبه";
break;
case 5:
w = "جمعه";
break;
case 6:
w = "شنبه";
break;
}
switch(jm) {
case 1:
s = "1";
break;
case 2:
s = "2";
break;
case 3:
s = "3";
break;
case 4:
s = "4";
break;
case 5:
s = "5";
break;
case 6:
s = "6";
break;
case 7:
s = "7";
break;
case 8:
s = "8";
break;
case 9:
s = "9";
break;
case 10:
s = "10";
break;
case 11:
s = "11";
break;
case 12:
s = "12";
break;
}
String d = null;
d = w + " ";
d += Integer.toString(j_day_no+1) + "/";
d += s + "/";
d += Integer.toString(jy);
return d;
}
private static int doubleToInt(double f) {
Double fint=new Double(f);
return fint.intValue();
}
}
این هم کلاس اصلی برنامه که تاریخ هجری/شمسی را نشان می دهد:
import java.util.Date;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
public class namayesh extends JFrame {
public namayesh() {
super("namayesh");
setDefaultCloseOperation(WindowConstants.EXIT_ON_C LOSE);
setLayout(new BorderLayout());
Date date = new Date();
int week = date.getDay();
int month = date.getMonth();
int day = date.getDate();
int year = date.getYear();
ConvertDate app = new ConvertDate();
add(new JLabel(app.gregorian_to_jalali
(year + 1900, month + 1, day)));
pack();
setVisible(true);
}
public static void main(String[] args) {
new namayesh();
}
}
در ضمن در کلاسی که مربوط به عمل تبدیل است به راحتی می توانید هم ساعت جاری و هم اینکه نام ماهها را نشان دهید.
امیدوارم به دردتان بخورد.
موفق و سربلند باشید.
mosi20
شنبه 03 مرداد 1388, 22:21 عصر
سلام
ببین من نمیدونم چی بگم.
من مشکلی با تاریخ فارسی ندارم
کلاسی هم که دارم کامل کار میکنه و خیلی امکانات دیگه ای هم داره
تنها مشکل من این هستش که خروجی ای که میده حروفش از هم جدا هستند.
برای اون فایل ها هم میتونی از اینجا سرچ بزنی و بگیری
http://www.findjar.com/index.jsp
و خود تقویم فارسی هم اینجا میتونی دانلود کنی
http://sourceforge.net/projects/persiancalendar/
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.