|
hi guys,,
i want my application to run from my network in partial trust mode and also i want to access data with oledbpoviders but i get security exception if i am in partial trst mode unless i configured the intranet zone to full trust that what i dont want, is there any way that i can run this application in partial trust mode, how do i create custom permission set like stuff ,, thanks in advance
..
hello
|
|
|
|
|
this is rather complicated stuff (more administrator like )
Normaly the best way is to give your application a strong name and then use the .net MMC plugin to configure the security context for the signed assembly.
|
|
|
|
|
can u please explain in a brief detail or give me some helping link ..
thanks in advance
hello
|
|
|
|
|
To use the .net config tool just go to the command prompt and enter:
"mscorcfg.msc"
You will see a nice GUI and hopefully find the infos you need.
To sign a assembly you can use sn.exe to generate a public/private-key that you can use in your application
More help with google:
http://www.google.com/search?q=code+security+.net
This one seems a good start:
http://msdn.microsoft.com/msdnmag/issues/01/02/CAS/
As I said: this stuff is rather nasty - to fully understand you might want to buy a book (there are several books - just search for security and .net - I think any of these will have one or more chapters concerning CAS)
|
|
|
|
|
how can i convert dataset to datatable or how can i copy dataset to datatable?
thanks in advance!
jyn
modified on Wednesday, January 09, 2008 7:41:18 PM
|
|
|
|
|
jhyn wrote: how can i convert dataset to datatable
DataTable dt = ds.Table[0];
jhyn wrote: how can i copy dataset to datatable?
DataSet ds = new DataSet();<br />
ds.Tables.Add(dt);
|
|
|
|
|
A DataSet is a collection of DataTable objects with any DataRelation objects connecting the tables. There's no such thing as converting a DataSet to a DataTable. The table you want is already a member of the DataSet.
|
|
|
|
|
hi,
i have two question:
1-
i move from form to another by function show() and hide() ,how can backtracking to first form or refresh first form ?
2-
how can delete row from sql server 2005 after 24 hours ?
|
|
|
|
|
break_day wrote: how can delete row from sql server 2005 after 24 hours ?
You can use either windows service or winform with timer control.
break_day wrote: i move from form to another by function show() and hide()
show() and hide() function is not for moving.
break_day wrote: how can backtracking to first form or refresh first form ?
Not sure what you meant.
|
|
|
|
|
ok, how can i move from form to another in my project ?
|
|
|
|
|
Are you doing to do something like wizard? if yes, you can use frame or groupbox in one form. (for example, frame1 is showing by default. if the user clicks on "Next" button, you can hide the frame1 and show the frame2.)
|
|
|
|
|
but if the user clicks on "back" button ?
|
|
|
|
|
break_day wrote: but if the user clicks on "back" button ?
then, you can hide the frame2 and show the frame1. it's simple, isn't it?
|
|
|
|
|
but if change in form1 and hide it and show form2 and then show form1 the changes in form1 stay in it ?
|
|
|
|
|
You didn't get what he said. You don't use multiple forms. You use ONE form with multiple Panel controls on it, one on top of the other, with each Panel hosting the controls for one page of your "wizard".
|
|
|
|
|
Hi..
Im having an unusal problem when printing the string i pass printpage handler to the drawstring..
dim i as integer
dim stringtest as string
e.g. for i=0 to 8000
stringtest = stringtest & "TESTING" & vbnewline
next i
so the for loop will return 8000 TESTING each with a newline in it..
like :
TESTING
TESTING
TESTING....
(8000) total..
then i fire the printpage handler to measure and drawstring as needed...but i get a problem which is if i have 2000 or less it draws on the first and every page correctly but if i have more records in the string e.g. 5000... then it will print 10 blank pages and then show the rest of the records after that..
is there a real limit as too how much data one can store in a string at all ????????? is that the problem.. im really lost ..
any help would be appreciated..
hope i was clear
Regards
Robbo
modified on Wednesday, January 09, 2008 2:05:12 PM
|
|
|
|
|
Hi,
I suspect you are victim of some 16-bit limitation inside GDI+, your string probably has a
length of 72K chars.
Is it really necessary to create such a large string? Why would you have to print
everything using just one string? Why not use just "TESTING" inside a for loop?
|
|
|
|
|
Hi Luc
Thanks for your reply. so whats the best way to do this.. i know theres a better way to hold data and send to print etc ... but my programming skills arent there yet.. what do you propose i do.. is there a way i can check the string if it has reach max size and then create a new string etc..
i'd appreciate any advice you have ..ive literally googled everywhere and found example out of my scope when it comes to printing properly ... i know people use array's etc.. what do you propose and a helpful and not to heavy example would be much appreciated.
kind regards
Robbo
|
|
|
|
|
Hi,
DrawString takes many parameters, including the string text, and a pair of coordinates.
So why not organiza a loop (for, or while), and call DrawString many times, each time
with the same string (just "TESTING" would do), but with different coordinates?
The only drawbacks I can see is:
1. when you rely on DrawString to do word wrapping for you, then it needs all the wrappable
text at once; but for text lines of less than 10 chars each, this does not apply, does it?
2. when you rely on DrawString to do pagination for you, then it again needs all the
text at once; but that is not how pagination should be handled; you really need to
take care of coordinates yourself, and as soon as y reaches the bottom of the page,
tou should remember your position in the document, print the current page, and when
the next PrintPage event occurs, continue where you left off. Of course, if all your
pages are to be identical, you can just print N pages with L lines of text.
(You would need PrintPageEventArgs.HasMorePages no to ask for another page...)
BTW: if printing seems to complicate matters for you, you can do exactly the same
when painting text onto a Panel on screen...
modified on Thursday, January 10, 2008 10:37:38 AM
|
|
|
|
|
Hi again Luc..
I googled and got some info about how much data a string can handle.
here: Visual Basic Language Reference
String Data Type (Visual Basic)
Holds sequences of unsigned 16-bit (2-byte) code points ranging in value from 0 through 65535. Each code point, or character code, represents a single Unicode character. A string can contain from 0 to approximately 2 billion (2 ^ 31) Unicode characters.
so im guessing its not the size of the string thats the problem..
at the moment my code is simple and here it is... please take some time to check it out and really really tell me what if a string is more than 2000 records withit everything works well and if its more its create blank pages before adding reset of the records.
here's a snipped of some code im using broken down without sub's/functions and other declaration like fonts and rectangles etc.
dim largestring as string
dim i as integer
for i=0 to 8000
largestring = largestring & "testing" & vbnewline
next i
textsize = e.Graphics.MeasureString( _
largestring, datafont, _
New SizeF(Rect.Size.Width, DateRect.Size.Height), _
datastringformat, charsfitted, linesfilled)
If charsfitted > 0 Then
e.Graphics.DrawString(largestring, datafont, Brushes.Blue, DateRect, datastringformat)
End If
If charsfitted < (largestring.Length) Then
largestring = largestring. _
Substring(charsfitted)
e.HasMorePages = True
Else
e.HasMorePages = False
headingfont.Dispose()
subheadingsfont.Dispose()
the_font.Dispose()
e.Graphics.Dispose()
End If
what is it that i need to add to make it always accept and draw no matter what records are coming through in the string.
thanks alot champ.. i really appreciate your time so far.
|
|
|
|
|
Hi,
sorry I did not study your code in detail. Here are some comments:
1. please show multi-line code inside PRE tags, that way it is more readable.
2. I can not understand your code, it is incomplete, I see no method declaration, what
is Rect, where is charsFitted defined, etc.
3. you should Dispose() of things you created or ordered created, hence NOT e.Graphics
4. I don't really care about the upper limit of GDI+, I never had trouble with it,
but then I tend to do my own wrapping and pagination; you can have Graphics do wrapping
for a paragraph of text, pagination is a no no.
|
|
|
|
|
Cant thankyou enough for taking time to assist me.
here is my code
'***************** CODE START *******************************
Public Class Form1
dim charsfitted as integer = nothing
dim linesfilled as integer = nothing
dim largestring as string = nothing
Private Sub btnPrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintPreview.Click
Dim sb As New System.Text.StringBuilder(largestring)
'if i put 2000 or less all is ok
'but if i put say as below which is 8000 then
'i getblank pages drawn 'first in preview
For i = 0 To 8000 but
'combine = combine & "10/01/08" '& vbCrLf 'i & vbCrLf
sb.Append("10/01/")
sb.Append(i)
sb.Append(vbNewLine)
Next i
largestring = sb.ToString
dlgPrintPreview.Document = PreparePrintDocument()
dlgPrintPreview.WindowState = FormWindowState.Maximized
dlgPrintPreview.PrintPreviewControl.Zoom = 1.2
dlgPrintPreview.ShowDialog()
End Sub
Private Function PreparePrintDocument() As PrintDocument
' Make the PrintDocument object.
Dim print_document As New PrintDocument
' Install BeginPrint, QueryPageSettings,
' PrintPage, and EndPrint event handlers.
AddHandler print_document.BeginPrint, AddressOf Print_BeginPrint
AddHandler print_document.QueryPageSettings, AddressOf Print_QueryPageSettings
AddHandler print_document.PrintPage, AddressOf Print_PrintPage
AddHandler print_document.EndPrint, AddressOf Print_EndPrint
' Return the object.
Return print_document
End Function
Private Sub Print_BeginPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs)
charsfitted = Nothing
linesfilled = Nothing
End Sub
Private Sub Print_QueryPageSettings(ByVal sender As Object, ByVal e As System.Drawing.Printing.QueryPageSettingsEventArgs)
End Sub
Private Sub Print_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
Dim textsize As SizeF = SizeF.Empty
Dim Rect As New Rectangle(e.MarginBounds.Left, 180, 60, 880)
'*****************
'********FONTS
Dim datafont As Font
datafont = New Font("Times New Roman", 8, FontStyle.Regular, GraphicsUnit.Point)
Dim the_font As Font
the_font = New Font("Times New Roman", _
8, FontStyle.Regular, GraphicsUnit.Point)
'**************
'********STRING FORMATS
Dim datastringformat As New StringFormat
datastringformat.Alignment = StringAlignment.Center
datastringformat.LineAlignment = StringAlignment.Center
'measuring largestring to be printed in RECT colmn defined above
textsize = e.Graphics.MeasureString( _
largestring, datafont, _
New SizeF(Rect.Size.Width, Rect.Size.Height), _
datastringformat, charsfitted, linesfilled)
If charsfitted > 0 Then
Console.WriteLine("drawing more lines")
e.Graphics.DrawString(largestring, datafont, Brushes.Blue, Rect, datastringformat)
End If
If charsfitted < (largestring.Length) Then
largestring = largestring. _
Substring(charsfitted)
e.HasMorePages = True
Else
e.HasMorePages = False
headingfont.Dispose()
subheadingsfont.Dispose()
the_font.Dispose()
e.Graphics.Dispose() 'LUC SAID TO REMOVE THIS
End If
End sub
End Class
'************* CODE END *************************
I hope with your help ill work this out..
thanks a million.
|
|
|
|
|
Hi,
comments again:
1. you have choosen to ignore my first comment.
2. this time your code seems more complete, thanks.
3. e.Graphics.Dispose() 'LUC SAID TO REMOVE THIS
modifying/adding a comment does not fix a definite bug.
4. you have choosen to ignore my fourth comment; I can not help you further on this
since you are doing things I have not done and would not do, as I explained before.
5. I would not trust charsFitter since there are slight differences of opinion between
MeasureString and DrawString as you can tell by reading (in between the lines of) the documentation.
6. both MeasureString and DrawString take float SizeF/RectF so
Dim Rect As New Rectangle(e.MarginBounds.Left, 180, 60, 880) is a detour.
That's all.
|
|
|
|
|
vbbeg wrote: Visual Basic Language Reference
String Data Type (Visual Basic)
Holds sequences of unsigned 16-bit (2-byte) code points ranging in value from 0 through 65535. Each code point, or character code, represents a single Unicode character. A string can contain from 0 to approximately 2 billion (2 ^ 31) Unicode characters.
so im guessing its not the size of the string thats the problem..
Luc didn't say it was a problem with the String type. He said it was a possible problem with GDI+ handling strings that large.
|
|
|
|
|
vbbeg wrote: for i=0 to 8000
stringtest = stringtest & "TESTING" & vbnewline
next i
so the for loop will return 8000 TESTING each with a newline in it..
[nitpicking]
That will be 8001 TESTING each with a newline in it
[/nitpicking]
|
|
|
|
|