|
Hi,
Where can I get source code of a Forum Board that uses Access as the back-end database? I have looked through several, but can't find any that uses Access as the database.
Any links or ideas?
Thanks...
|
|
|
|
|
You might want to try the ASP.NET Forums source, found here[^]. It's backend is SQL server, but could be converted to work with an Access database. I don't know of any Forums board that uses Access simply because of capacity and performance issues.
RageInTheMachine9532
|
|
|
|
|
Converting the ASP.NET Forums from SQL Server to Access won't be as easy of a task as you make it sound. Unless it's changed since the last time I saw it, the forums use a lot of stored procedures, which would have to be moved to a data access layer. This conversion may not be that big of a deal, but don't expect it to be an easy task without looking into it first.
Michael Flanakin
Web Log
|
|
|
|
|
All I said is that it COULD be done. I didn't say anything about how easy/hard it would be, and I have seen the source for ASP.NET Forums.
Anyway, looking at the source of a few boards would also give him some ideas about what needs to be done to get his own Access database backend up and running. From looking at the design of existing databases, he could use them as models to design and build his own Access backend. Although, in my opinion, it would be much easier to just install and use the MSDE.
RageInTheMachine9532
|
|
|
|
|
True. But, that depends on the purpose. There will probably be licensing issues. I don't know much about it, but MSDE isn't supposed to be for production use, as far as I know.
Michael Flanakin
Web Log
|
|
|
|
|
I have created a method to blur an image and was wondering if anyone could find a way of further optimising it for speed.
<br />
public Bitmap BlurBitmap(Bitmap bitmapToBlur, byte blurLevel)<br />
{<br />
DateTime currentTime = DateTime.Now;<br />
<br />
short bitmapWidth = (short)bitmapToBlur.Width;<br />
short bitmapHeight = (short)bitmapToBlur.Height;<br />
<br />
float[,,] colourArray = new float[bitmapWidth, bitmapHeight, 3];<br />
float[,,] colourArrayBlur = new float[bitmapWidth, bitmapHeight, 3];<br />
<br />
for (short i = 0; i < bitmapWidth; i++)<br />
{<br />
for (short j = 0; j < bitmapHeight; j++)<br />
{<br />
colourArray[i, j, 0] = bitmapToBlur.GetPixel(i, j).R;<br />
colourArray[i, j, 1] = bitmapToBlur.GetPixel(i, j).G;<br />
colourArray[i, j, 2] = bitmapToBlur.GetPixel(i, j).B;<br />
}<br />
}<br />
<br />
float redValue = 0.0F;<br />
float greenValue = 0.0F;<br />
float blueValue = 0.0F;<br />
byte counter = 0;<br />
<br />
for (short blurPass = 0; blurPass < blurLevel; blurPass++)<br />
{<br />
for (short i = 0; i < bitmapWidth; i++)<br />
{<br />
for (short j = 0; j < bitmapHeight; j++)<br />
{<br />
<br />
for (sbyte k = -1; k <= 1; k++)<br />
{<br />
for (sbyte l = -1; l <= 1; l++)<br />
{<br />
if (i + k > 0 && i + k < bitmapWidth && j + l > 0 && j + l < bitmapHeight)<br />
{<br />
redValue += colourArray[i + k, j + l, 0];<br />
greenValue += colourArray[i + k, j + l, 1];<br />
blueValue += colourArray[i + k, j + l, 2];<br />
counter++;<br />
}<br />
}<br />
}<br />
<br />
colourArrayBlur[i, j, 0] = redValue / counter;<br />
colourArrayBlur[i, j, 1] = greenValue / counter;<br />
colourArrayBlur[i, j, 2] = blueValue / counter;<br />
<br />
redValue = 0.0F;<br />
greenValue = 0.0F;<br />
blueValue = 0.0F;<br />
counter = 0;<br />
}<br />
}<br />
<br />
Trace.WriteLine("blur pass " + blurPass);<br />
colourArray = colourArrayBlur;<br />
}<br />
<br />
for (short i = 0; i < bitmapWidth; i++)<br />
{<br />
for (short j = 0; j < bitmapHeight; j++)<br />
{<br />
bitmapToBlur.SetPixel(i, j, Color.FromArgb((int)colourArrayBlur[i, j, 0], (int)colourArrayBlur[i, j, 1], (int)colourArrayBlur[i, j, 2]));<br />
}<br />
}<br />
<br />
Trace.WriteLine(DateTime.Now - currentTime);<br />
<br />
return bitmapToBlur;<br />
}<br />
}<br />
|
|
|
|
|
|
|
Thanks! I'll look into all this unsafe business.
|
|
|
|
|
Hi guys,
I developed a web application which requires file access from a network, do any of you guys now how do to it? especially when the network needs username and password verification.
cheers.
|
|
|
|
|
First of all, code access security will play a part. You must make sure that your web application has an appropriate FileIOPermission to access the file. Since it will be running on the local machine, for IIS5.1 and lower this shouldn't be a problem. With IIS6, the default policy should allow it but you should keep this in mind if it doesn't work.
To access a file across the network, you can use a UNC path with whatever stream class you want, like:
FileStream fs = new FileStream("\\Server\Share\File.txt", FileMode.Open); In .NET 1.x, accessing a file that requires credentials is not easy. You have to impersonate a user that has access, which you can read more about in the documentation for the WindowsIdentity.Impersonate method in the .NET Framework SDK (includes an exmaple).
The easiest way is to grant whatever user that ASP.NET runs as (by default, the local ASPNET account) the appropriate permissions to access the file.
Finally, if you set the "impersonate" attribute to "true" in your Web.config's <identity> element and require Windows Authentication on a directory in your ASP.NET application, the authenticated user's credentials will be used to access that file so you won't have to impersonate the user yourself. You can configure the directory that would contain your code to access the file in the IIS Manager to disallow anonymous access and require Windows Authentication. For more information on the <identity> configuration section, simply type that in (including the angled brackets) in the .NET Framework SDK's index.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I am trying to display a splash screen, which displays and cancels just like it is susposed to. The main window displays as it should, with one problem. After the splash goes away the main window is not the top window. I want it to be. I have tried setting the Focus, BringToFront, and TopLevel. Each has no effect. The only thing that works is TopMost, but that has other, unwanted results. I am calling these in the main form's Load method after it dismisses the splash.
Is there some where else I should call BringToFront, for example, to get it to work?
Gary Kirkham
A working Program is one that has only unobserved bugs
I thought I wanted a career, turns out I just wanted paychecks
|
|
|
|
|
There are several articles here on CodeProject that discuss different ways of creating and display splash screens while the main app window is loading. The following search[^] lists several.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I guess I wasn't too clear...I don't have a problem creating the splash screen. I have one...the splash screen works fine. My problem is how to make bring the main window to the front.
Thanks for providing the search results list, it is the same one I looked at yesterday. The first one on the list, which I downloaded yesterday, works well (and is similar to the one I wrote). However, it exhibits the same behavior as mine, i.e. the main window is not brought to the front when the splash screen terminates.
I haven't downloaded and tested each one, however, a quick scan of the source code for each one, doesn't reveal (to my feeble brain) any code that would appear to bring the main window to the front.
Gary Kirkham
A working Program is one that has only unobserved bugs
I thought I wanted a career, turns out I just wanted paychecks
|
|
|
|
|
Activate(); did the trick
Gary Kirkham
A working Program is one that has only unobserved bugs
I thought I wanted a career, turns out I just wanted paychecks
|
|
|
|
|
In VB6 you could drag a control (say a button) from one panel to another at run time, as you dragged a button sized rectangle would be displayed and in the DragOver and DragDrop events of the panel you could test to see if what was being dragged/dropped was what you required.
How would I do that in C#? I am finding the Drag/Drop model in .NET to be very confusing. Any help would be much appreciated.
Thanks in anticipation
JP
England.
|
|
|
|
|
Yeah, you do have to use the drag and drop routines in .NET, but it doesn't have to be as hard as you might think. Clipboard formats (which apply both to the clipboard and drag-n-drop, though for the latter nothing is place in the clipboard per se) are just a string (as far as .NET is concerned) so as long as your application understands the clipboard format (so that the source and destination use the same format), you can put anything into the IDataObject implementation (you can use the provided DataObject , which - btw - isn't the IDataObject defined for COM but uses it internally).
So, in your source control, you could do something like this:
DataObject do = new DataObject(".NETControl", this);
this.DoDragDrop(do, DragDropEffects.Move); In your destination, handle the DragOver and DragDrop events (or override the respective methods in a derived class as in the following example) at least:
protected override void OnDragOver(DragEventArgs e)
{
if (e.Data.GetDataPresent(".NETControl") &&
(e.AllowedEffect & DragDropEffects.Move) != 0)
e.Effect = DragDropEffects.Move;
}
protected override void OnDragDrop(DragEventArgs e)
{
if (e.Data.GetDataPresent(".NETControl") &&
(e.AllowedEffect & DragDropEffects.Move) != 0)
{
Control c = (Control)e.Data.GetData(".NETControl");
c.Location = new Point(e.X, e.Y);
}
} It's a simple example, but it should work (it's similar to what I've done in the past for dragging and dropping controls at run-time).
To note, the DataFormats class contains common clipboard formats for dragging and dropping strings, HTML, etc. Read about it in the .NET Framework SDK for more information.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thank you - thats's been a great help.
Rugby League: The Greatest Game Of All.
|
|
|
|
|
How do you automatically select the first row of the datagrid? I have searched the intellisense and do not see anything that I would use to set this first row.
Thanks!
Code Toad
|
|
|
|
|
Have you tried DataGrid.Select(rownumber) ?
Mazy
"Man is different from animals in that he speculates, a high risk activity." - Edward Hoagland
|
|
|
|
|
I have implemented an IStream COM object that reads chars / bytes off the OLEClipboard. However, i'm still stuck with reading one charachter at a time, and this is bothering me a great deal (This has to be really innefficient swapping to and from managed code with 1 item at a time, especialy for objects over a meg...).
Does anyone know where I can find some sample code where the user forwards a pointer to an initialised array and gets back the array with initialised content?
Cheers
Cata
|
|
|
|
|
Ugh...I suppose you could preload the whole mess into a SAFEARRAY, and then marshal that...
You could also try using a global memory write, then a global memory read on the .NET side, but that's a whole 'nother can of worms to open up.
Jeremy Kimball
|
|
|
|
|
"Ugh" - ye, my sentiments exactly. Oh well, too bad, it must be done (because i want to).
Can you tell me anymore about these things? Global Memory write i've never really encountered .NET side before. I can look up safearrays, but to be honest, i'm slightly confused about the mechanics behind the whole operation.
I can handle in arrays, and out arrays, but ref arrays are just bugging the hell out of me.
Cata
|
|
|
|
|
[EDIT]Out of curiosity, what are you trying to do with all this?[/EDIT]
SAFEARRAY's are, to be painfully blunt, a f'ing mess to work with. Their original purpose was to handle cross-process and cross-apartment marshalling of "array-ish" data.
Here be the mess:
typedef struct FARSTRUCT tagSAFEARRAY {
unsigned short cDims;
unsigned short fFeatures;
#if defined(WIN32)
unsigned long cbElements;
unsigned long cLocks;
#else
unsigned short cbElements;
unsigned short cLocks;
unsigned long handle;
#endif
void HUGEP* pvData;
SAFEARRAYBOUND rgsabound[1];
} SAFEARRAY;
In the mystical land of Interop, these things generally are auto-marshalled into System.Array's, which is nice. Problem is working with the original SAFEARRAY's.
Let me play around with some stuff when I get home from work (tis 2pm here now), and I'll see if you can even efficiently "get at" global memory from .NET.
Jeremy Kimball
|
|
|
|
|
Well, i was thinking, if i allocated 2 bytes to global memory, get the intptr to them, forward them to the char array, and read it out as a char (not sure how to cast that part). I could see if it works with one char.
Following that, if i create a block of memory say, 100 bytes, i could then read each of the byte pairs out, to get a total of 50 chars?
Again, i'm not sure how to cast the two bytes, but i'll have a tinker.
As for what i'm doing. I was looking at how easy it would be to implement managed to unmanaged drag and drop. Mainly handling a stream of bytes.
Turns out, not so easy, but really interesting anyhow, and a valuable learning experience.
Cata
|
|
|
|
|