View Full Version : سوال: تشخیص رسیدن به انتهای هر خط در Texbox های چند خطی
baran_mehr
دوشنبه 21 مرداد 1387, 16:09 عصر
سلام دوستان گلم.:قلب:
من یه Textbox چند خطی دارم که نمیدونم کی به انتها رسیده و کجا به خط بعد رفته؟:متفکر:
فرض کنید میخوام به انتهای هر خط یه کلمه اضافه کنم اما نمیدونم کی به انتهای خط میرسم؟
ممنون میشم کمکم کنید:لبخندساده:
DotNet_King
دوشنبه 21 مرداد 1387, 16:19 عصر
باید با یه حلقه متن رو حرف به حرف جدا کنید
داخل حلقه تک تک حروف رو کد اسکی کنید
خط بعد از جایی آغاز میشه که کاربر اینتر رو فشرده باشه! پس هر وقت کد اسکی حرفی مشابه کد اسکی اینتر بود قطعا خط بعد می خواد آغاز بشه !
به همین سادگی !
Amir Taghavi
دوشنبه 21 مرداد 1387, 16:19 عصر
C#: TextBox.Text = TextBox.Text.Replace("\n", "My Text");
VB: TextBox.Text = TextBox.Text.Replace(vbCrLf, "My Text")
baran_mehr
دوشنبه 21 مرداد 1387, 17:39 عصر
سلام دوستان عزیز.
DotNet_King جان کار شما عملی هست اما خیلی زمانبر هست و کد بیشتری هم میخواد.اما کد Amir Taghavi جان خیلی کوچیک و خوبه.
به هر حال از هر دو ممنونم که کمک کردید.
شاد باشید و شادی رو به دیگرون هدیه بدید.
DotNet_King
دوشنبه 21 مرداد 1387, 18:43 عصر
سلام دوستان عزیز.
DotNet_King جان کار شما عملی هست اما خیلی زمانبر هست و کد بیشتری هم میخواد.اما کد Amir Taghavi جان خیلی کوچیک و خوبه.
به هر حال از هر دو ممنونم که کمک کردید.
شاد باشید و شادی رو به دیگرون هدیه بدید.
من هم موافقم ! اون روش راحت و خوبه ! دست دوستمون درد نکنه و ممنونم از ایشون! ولی شما اون روش من رو می تونید با جاوا اسکریپت طرف کلاینت انجام بدید! این طوری منابع کمتری از سیستم مصرف میشه و همچنین سرعت بیشتری خواهید داشت! مثلا فرض کنید متن طولانی باشه! فقط یه کم پیاده سازیش وقت گیره که احتمالا با فوایدش ارزش این صرف وقت رو داره!
baran_mehr
دوشنبه 21 مرداد 1387, 19:11 عصر
DotNet_King جان.
چی جوری باید از طرف جاوا این کار رو کنم؟؟
مثالی داری بزاری؟؟ یا توضیحی بدی که متوجه بشم
ممنون میشم عزیزم.
DotNet_King
دوشنبه 21 مرداد 1387, 20:17 عصر
یکی از دوستام چند وقت پیش این کارو کرده بود! من هم اون زمان ناظر بودم! الان هم به این امید بودم که شما بنویسید و ما استفاده کنیم و شما رو دعا! ولی عیب نداره من تو همین هفته مینوسمش! البته اگه بتونم ! جاوا اسکرپتم خیلی ضعیفه ):
DotNet_King
سه شنبه 22 مرداد 1387, 08:57 صبح
DotNet_King جان.
چی جوری باید از طرف جاوا این کار رو کنم؟؟
مثالی داری بزاری؟؟ یا توضیحی بدی که متوجه بشم
ممنون میشم عزیزم.
سلام دوست گلم
این سورس رو نوشتم. رو اینترنت اکسپلورر خوب جواب می ده ! ولی رو فایر فوکس مشکل داره و اجرا نمی شه! این هم دلیل تنفر من از جاوا اسکریپته:عصبانی++::عصبانی: امیدوارم دوستان کمک کنند تا این مشکل رفع بشه! IE من ورژن ششه!
ولی از این حرفا که بگذریم بریم سر اصل مطلب ! چیز جالبی شد! واسه شروع خوب بود! همونی که می خواستید
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="Tamper_WEB_SITE._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<style type="text/css">
#TextArea1
{
height: 160px;
width: 223px;
}
#TA
{
height: 110px;
width: 276px;
}
</style>
</head>
<body>
<script language="javascript" type="text/javascript">
function GetRes()
{
var txtIN="";
txtIN=document.getElementById("TA");
var i=0;var last_i=0;
var output="";
for ( i=0;i<txtIN.innerText.length;i++)
{
if(txtIN.innerText.charCodeAt(i)==13)
{
output += txtIN.innerText.slice(last_i ,i)+" _=*This text insert By mohammad *=_ ";
last_i=i;
}
}
document.write(output);
}
</script>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text=" صفحه برای سرويس دھنده ارسال " Font-Names="Tahoma" />
<br /><br />
<asp:Label ID="lblInfo" runat="server"></asp:Label>
<asp:dropdownlist ID="Drp_news_kind" runat="server" AutoPostBack="True">
<asp:ListItem Value="101">کامپیوتر</asp:ListItem>
<asp:ListItem Value="102">آی تی</asp:ListItem>
<asp:ListItem Value="103">ورزشی</asp:ListItem>
<asp:ListItem Value="104">سیاسی</asp:ListItem>
<asp:ListItem Value="105">هنری</asp:ListItem>
<asp:ListItem Value="106">هر مدل دیگه</asp:ListItem>
</asp:dropdownlist>
<br />
<br />
<asp:TextBox ID="TA" runat="server" Height="136px" TextMode="MultiLine"
Width="330px" ></asp:TextBox>
<asp:Button OnClientClick="GetRes()" ID="Button2" runat="server" Text="Button" />
<br />
<br />
</div>
</form>
</body>
</html>
Amir Taghavi
سه شنبه 22 مرداد 1387, 12:40 عصر
با اندکی تغییر کارت راه میوفته!
function DoReplace()
{
var txtIN = document.getElementById("txt");;
var last_i = 0;
var output = "";
for (var i = 0; i < txtIN.value.length; i++)
{
if(txtIN.value.charCodeAt(i) == 13 || txtIN.value[i] == "\n")
{
output += txtIN.value.slice(last_i ,i) + " _Test";
last_i = i;
}
}
txtIN.value = output;
}بهت توصیه می کنم از Firebug (https://addons.mozilla.org/en-US/firefox/addon/1843) استفاده کن.
DotNet_King
سه شنبه 22 مرداد 1387, 14:47 عصر
با اندکی تغییر کارت راه میوفته!
function DoReplace()
{
var txtIN = document.getElementById("txt");;
var last_i = 0;
var output = "";
for (var i = 0; i < txtIN.value.length; i++)
{
if(txtIN.value.charCodeAt(i) == 13 || txtIN.value[i] == "\n")
{
output += txtIN.value.slice(last_i ,i) + " _Test";
last_i = i;
}
}
txtIN.value = output;
}بهت توصیه می کنم از Firebug (https://addons.mozilla.org/en-US/firefox/addon/1843) استفاده کن.
ممنون از توجه شما دوست عزیز
میشه بگید txtIN.value[i] == "\n این چرا باعث شد این کد کار کنه و قبلش نمی کرد! چرا این رو تنهایی نگزاشتید! و با جمله قبلی که من نوشته بودم اوردید؟
ممنون میشم اگه راجع به فایربگ توضیح مختصری بدید
Amir Taghavi
سه شنبه 22 مرداد 1387, 15:00 عصر
1.زیرا چونکه اولی فقط در IE جواب میده و دومی فقط در Firefox(!!!) (بدبختی مارو ببین تورو خدا کی میشه همه browser ها استاندارد یکسانی داشته باشند)
2. همونطور که از اسمش پیداست واسه debug کردن، Trace کردن و خیلی امکانات دیگه تو Firefox بکار می ره. نصبش کن، ساده ست. خیلی زود داستانش رو متوجه می شی.(اطلاعات بیشتر (http://getfirebug.com/))
baran_mehr
سه شنبه 22 مرداد 1387, 16:04 عصر
مهربونم DotNet_King جان ،دستت درد نکنه خیلی خوب بود.من به یه همچین چیزی نیاز داشتم چون صفحه رو لود نمیکنه و خیلی خوبه.ممنون عزیز دلم
Amir Taghavi جان این کدی که شما گذاشتید نمیدونم چرا کار نمیکنه ، من کد شما را اضافه کردم و فراخانی کردم اما کار نکرد.آیا باید عمل خاصی انجام بدم؟
و برای رفع مشکل Browser ها باید چه کار کرد؟؟
Amir Taghavi
سه شنبه 22 مرداد 1387, 16:38 عصر
کد همونیه که DotNet_King گذاشته. البته با اندکی تغییرات. فکر نمی کنم مشکل خاصی باشه، فقط اسم کنترلت رو set کن.
DotNet_King
سه شنبه 22 مرداد 1387, 17:24 عصر
امیر عزیز ممنون از لطفت ! فک کنم ورژن فایرفوکس من قدیمی تر از شماست ! رو سیستم من جواب نمی ده! واقعا دیوونه کننده است! کتابی مرجعی چیزی سراغ ندارید برای این که ببینیم چه استاندارد های مشترکی تو همه این بروزر ها رعایت شده!
از بابت فایر باگ هم ممنون
دارم دانلودش می کنم!
حتما با هاش کار می کنم
ولی شما مرجعی راجع به این مورد سراغ ندارید امیر جان؟ ترجیحا فارسی
DotNet_King
سه شنبه 22 مرداد 1387, 20:43 عصر
مشکل من حل شد!
من باید مقدار درون تکست اریا رو با متد value بگیرم ! نه innerText ! همون کار امیر آقا!
ممنون
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.