473,722 Members | 2,352 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

TransModal modal dialog project : beta testing

VK
In the continuation of the discussion at "Making Site Opaque -- This
Strategy Feasible?" and my comment at
http://groups.google.com/group/comp....15a4408680e8e2

I have realized that despite suggestions to use DHTML-based modal
dialogs are very common? there is not a single fully functional
reliable copyright-free cross-browser alternative to say MsgBox
(VBScript) or showModalDialog (IE). This way such suggestions up to
date are bearing rather a lot of hypocrisy by suggesting to use
something non-existing instead of something existing.

I am proposing to make TransModal library under MIT license to have a
good alternative to suggest. I also would like to have this library
novice-friendly for code studying, as I said before.

I am proposing the current v. 0.0.3 beta for criticism and for bug fix
in cope that it may be interesting for anyone to donate their time to
participate.

The whole package can be obtained at
http://www.geocities.com/schools_rin...odal_0_0_3.zip

The package contains:
0_0_3_Compat.ht ml - testing page in Compatibility (BackCompat) mode
0_0_3_Strict.ht ml - testing page in Strict (CSS1Compat) mode
TransModal.js - the version 0.0.3 beta itself

The TransModal.js code is also posted below. Usenet post formatting
specifics forced me to make line breaks in some long statements where
I would not do them otherwise. If still some lines get broken so
rendering the code non-functioning or hard to read then I have nothing
to say but my apologies. Use the source from the linked package
instead then.

/*************** *************** **************
* ATTENTION!
* This version TransModal 0.0.3 is intended
* for testing and debugging purpose only.
* It is NOT intended for a practical use.
*************** *************** **************/

function TransModal() {

/* Enforcing TransModal to be a singleton:
* other words do not allow to create new
* instances of TransModal class.
*
*? Objections?
*/

if (this instanceof TransModal) {
return TransModal;
}

/* Checking if not some weird environment
* where window host object is not available.
* It is here mostly to pacify some c.l.j.
* regulars - but who knows, it may come useful
* someday somewhere.
*
* "window" identifier is reserved for the host
* object. This way if typeof window == 'object'
* guarantees that either 1) host object is here
* or 2) it is not here but someone is
* emulating it. In the latter case it is not
* our concern how good or bad such emulation is.
*/

if (typeof window != 'object') {
return null;
}

/* Check if DOM manipualtions are available:
* other words if the document is loaded.
* If not then postpone the execution till
* after window load event.
* TransModal.isIE flag is preset on conditional
* compilation outside of the TransModal body:
* look at the end of this code.
*/

if (document.body == null) {
if (TransModal.isI E) {
window.attachEv ent('onload', TransModal);
}
else {
window.addEvent Listener('load' , TransModal, false);
}
return null;
}

/* If TransModal was already once executed
* then do not repeat the initialization.
*/
if (TransModal.isE xecuted) {
return null;
}
else {
TransModal.isEx ecuted = true;
}

/* If "modal" identifier is not already in use,
* then set it as a shortcut alias for TransModal.
* This way TransModal.dial og() and modal.dialog()
* calls will be equivalent.
*/

if (typeof modal == 'undefined') {
modal = TransModal;
}

/* Prototype.js compatibility.
* If global $() function is already defined
* then do not override it. Otherwise making
* a lightweight replacement of it.
*
* We don't want a parasite closure in here,
* so we are using Function constructor.
*/
if (typeof $ != 'function') {
$ = new Function('id',
'return document.getEle mentById(id)');
}

/* It would be nice to have button labels on
* user's preferred language and not English
* only.
* navigator.userL anguage (IE) and
* navigator.langu age (some other UAs) values
* may have different meanings: OS language,
* or browser interface language, or the preferred
* language in the browser settings. Either way
* IMHO it still allows to make a good guess what
* language the current user would like to see.
* If the detected language is not implemented yet
* then English is used by default.
* For such basic lexicon as "Yes", "No", "Cancel" etc.
* we may disregard country-specific variations, so we
* are taking only two first letters from the language
* code - so say "en", "en_US", "en_GB" will be "en".
*
*? Objections?
*/

if ('userLanguage' in navigator) {
var lang = navigator.userL anguage.substri ng(0,2);
}
else if ('language' in navigator) {
var lang = navigator.langu age.substring(0 ,2);
}
else {
var lang = 'en';
}

TransModal.lang = (lang in TransModal.butt onLabelSet) ?
lang : 'en';

/* Creating and adding dialog window template.
* Additional dialog styling may be applied
* over DIV#TransModalD ialog CSS rule set.
*/

var wndDialog = document.create Element('DIV');

wndDialog.id = 'TransModalDial og';

/* Some complex styling of a completely empty element
* may make IE to act strange. To avoid that we are
* setting the default content to NO-BREAK SPACE
*/
wndDialog.inner HTML = '<span>\u00A0</span>';

with (wndDialog.styl e) {
position = 'absolute';
zIndex = '1002';
left = '0px';
top = '0px';
cursor = 'default';
visibility = 'hidden';
}

document.body.a ppendChild(wndD ialog);

/* Creating and adding the cover sheet.
* The cover sheet is NOT supposed to
* be styled by external CSS rules. All
* what it needs is being made by script.
*/

var wndCover = document.create Element('DIV');

wndCover.id = 'TransModalVeil ';

wndCover.innerH TML = '<span>\u00A0</span>';

with (wndCover.style ) {
position = 'absolute';
zIndex = '1001';
left = '0px';
top = '0px';
margin = '0px 0px';
padding = '0px 0px';
borderStyle = 'none';
cursor = 'not-allowed';
visibility = 'hidden';
}

/* Pre-apply alpha filter for IE.
*/
if (TransModal.isI E) {
wndCover.style. filter = ''.concat(
'progid:DXImage Transform.Micro soft.Alpha(Opac ity=',
Math.floor(Tran sModal.coverOpa city * 100), ',Style=0)');
}

document.body.a ppendChild(wndC over);
}

/************** TransModal methods **************/

/* TransModal.dial og() method that
* takes four optional arguments:
*
* dlgPrompt : prompt HTML code
* dlgButtonSet : button set
* dlgDefaultButto n : default focus
* dlgListener : function to call
*/

TransModal.dial og = function(dlgPro mpt,
dlgButtonSet,
dlgDefaultButto n,
dlgListener) {

/* Setting defaults for missing arguments.
*/

if (typeof dlgPrompt != 'string') {
dlgPrompt = '<p>TransModal v.'.concat(
TransModal.repo rtVersion(), '</p>');
}

if (typeof dlgButtonSet != 'number') {
dlgButtonSet = 0;
}

if ((typeof dlgDefaultButto n != 'number') ||
(dlgDefaultButt on >= TransModal.
buttonSet[dlgButtonSet].length)) {
dlgDefaultButto n = 0;
}

if (typeof dlgListener != 'function') {
TransModal.noti fyObserver = TransModal.loop Hole;
}
else {
TransModal.noti fyObserver = dlgListener;
}

/* Intermediary variables to store
* clientWidth and clientHeight values.
*/

var w = document.docume ntElement.clien tWidth;
var h = document.docume ntElement.clien tHeight;

/* Setting the cover.
*/

var cover = $('TransModalVe il');

/* BUG bug 1
*
* We need a reliable algorithm to cover
* entire body, not just visible part of it
* like this current primitive does.
*/
cover.style.wid th = w + 'px';
cover.style.hei ght = h + 'px';

cover.style.bac kgroundColor = TransModal.cove rColor;

/* Working around different opacity models
* of IE and other browsers.
*/
if (TransModal.isI E) {
cover.filters.i tem('DXImageTra nsform.Microsof t.Alpha').
Opacity = Math.floor(Tran sModal.coverOpa city * 100);
}
else {
/* Safari requires opacity to be a string and it
* ignores numeric arguments.
* Other browsers accept either.
*/
cover.style.
opacity = '' + TransModal.cove rOpacity;
}

/* Preparing the dialog.
*/

var dialog = $('TransModalDi alog');

/* How many buttons in the selected set.
*/
var len = TransModal.butt onSet[dlgButtonSet].length;

/* We want all buttons in one row.
*/
var buttons = '<div style="white-space:nowrap !important">';

/* BUG bug 2
* Clicking outside of dialog makes current button
* to loose focus.
*/

/* BUG bug 3
* Navigating by TAB press goes away from the
* rightmost button to the document body.
* Must be switching to the leftmost button
* instead.
*/

/* BUG bug 4
* Arrow keys navigation doesn't work.
*/

for (var i=0; i<len; i++) {
var label = TransModal.butt onLabelSet[TransModal.lang][
TransModal.butt onSet[dlgButtonSet][i]];
buttons+= ''.concat(
'<button type="button" ',
'hidefocus ', // removes dotted focus from IE button labels
'onclick="Trans Modal.dismiss(\ '',
TransModal.butt onSet[dlgButtonSet][i], '\')">', label, '</button>
');
}

buttons+= '</div>';

dialog.innerHTM L = dlgPrompt + buttons;

/* BUG bug 5
* Scroll position is not accounted.
*/

dialog.style.le ft = Math.floor((w-dialog.offsetWi dth)/2) + 'px';
dialog.style.to p = Math.floor((h-dialog.offsetHe ight)/2) + 'px';

/* IE6 or older "Super Z of form elements" quirk fix.
* Until IE7 form controls were external DirectX objects
* drawn on a separate graphics layer after the whole
* page is drawn. That led to impossibility to cover
* some form controls (particularly SELECT) by a higher
* z-index DOM elements: form controls remained visible
* and accessible (hence the term; sometimes also
* referred as "firing through").
* As a partial and not perfect remedy we are disabling
* all form controls for IE6 or older.
* For extra large or multiple forms it may have
* a productivity impact.
* It also doesn't eliminate the risk of the dialog placed
* right over a form element thus partically overdrawn.
*/

/* BUG bug 6
* Doesn't account if some form controls are already
* disabled for some other purpose. This way on restoring
* their state will be overriden.
*/

if (TransModal.isO ldIE) {
for (var i=0; i<document.form s.length; i++) {
var len = document.forms[i].length;
for (var j=0; j<len; j++) {
/* IE considers links located within FORM as form
* controls, so it disables them as well.
* No extra check for links is added though to
* speed up the loop.
*
*? You think?
*/
document.forms[i].elements[j].disabled = true;
}
}
}

/* Display both the cover and the dialog.
*/
cover.style.vis ibility = 'visible';
dialog.style.vi sibility = 'visible';

/* Setting focus to the default button.
*/
window.setTimeo ut("$('TransMod alDialog')." +
"getElementsByT agName('BUTTON' )[" +
dlgDefaultButto n + "].focus()", 100);

};

/*** END OF TransModal.dial og FUNCTION ***/

TransModal.dism iss = function(presse dButtonSysName) {

$('TransModalDi alog').style.vi sibility = 'hidden';
$('TransModalVe il').style.visi bility = 'hidden';

if (TransModal.isO ldIE) {
for (var i=0; i<document.form s.length; i++) {
var len = document.forms[i].length;
for (var j=0; j<len; j++) {
/* see bug 6 */
document.forms[i].elements[j].disabled = false;
}
}
}

TransModal.noti fyObserver(pres sedButtonSysNam e);

}

/*** END OF TransModal.dism iss FUNCTION ***/

/* Library versioning
*/

TransModal.Majo rVersion = 0;
TransModal.Mino rVersion = 0;
TransModal.Buil dVersion = 3;

TransModal.repo rtVersion = function() {
return ''.concat(
TransModal.Majo rVersion,
'.', TransModal.Mino rVersion,
'.', TransModal.Buil dVersion);
}

/* "If TransModal initialized" flag
*/

TransModal.isEx ecuted = false;

/* A dummy function for testing and for NOOPs.
*/

TransModal.loop Hole = function() {
window.alert(ar guments[0] || 'no arguments');
}

/* Current cover color (black by default).
*/

TransModal.cove rColor = 'rgb(0,0,0)';

/* Current cover opacity (0.0 - 1.0)
* 0 - fully transparent
* 1 - fully opaque
*/

TransModal.cove rOpacity = 0.4;

/* In the future may be used to set
* cover appearence effects:
* 'none' - no effect
* 'fade' - fading
* 'flood' - flooding
*
* Not currently implemented.
*/

TransModal.cove rEffect = 'none';

/* Button labels by language codes.
*
* For the best interoperabilit y
* all characters above US-ASCII
* should be represented by Unicode
* escape sequences \uXXXX
*
* Currently only English is presented.
*/

TransModal.butt onLabelSet = {
'en' : {
'OK' : 'OK'
,'Cancel' : 'Cancel'
,'Abort' : 'Abort'
,'Retry' : 'Retry'
,'Ignore' : 'Ignore'
,'Yes' : 'Yes'
,'No' : 'No'
}
};

/* Available button sets. The sets
* are going by VB's MsgBox schema.
* These are system label names and
* they DON'T need to be translated.
*/
TransModal.butt onSet = [
['OK']
,['OK', 'Cancel']
,['Abort','Retry' ,'Ignore']
,['Yes','No','Can cel']
,['Yes','No']
,['Retry','Cancel ']
];

/* Conditional compilation.
* We all hate browser sniffing, do we ? :-)
*/
/*@cc_on @*/
/*@if (@_jscript)
TransModal.isIE = true;
TransModal.isOl dIE = ''.concat(
ScriptEngineMaj orVersion(), '.',
ScriptEngineMin orVersion(), '.',
ScriptEngineBui ldVersion()) <= '5.6.8834';
@else @*/
TransModal.isIE = false;
TransModal.isOl dIE = false;
/*@end @*/

/* Attempting to execute TransModal function.
*/

TransModal();

/* BUG bug 7
* The whole script is completely
* broken for IE in BackCompat mode.
*/
Jun 27 '08 #1
11 2371
I'm currently working on a modal dialog box at work because all the
ones I have seen all have somthing wrong with them.

Hopefully it will be ready by the end of this week....watch this
space....

Graham

Jun 27 '08 #2
VK
On May 6, 4:32 pm, Laser Lips <loudsphi...@gm ail.comwrote:
I'm currently working on a modal dialog box at work because all the
ones I have seen all have somthing wrong with them.

Hopefully it will be ready by the end of this week....watch this
space....
The competition is always good ;-)

Jun 27 '08 #3
On Tue, 06 May 2008 02:25:41 -0700, VK wrote:
[...]
Just some hints after reading (w/o testing) it:
if ('userLanguage' in navigator) {
var lang = navigator.userL anguage.substri ng(0,2);
}
else if ('language' in navigator) {
var lang = navigator.langu age.substring(0 ,2);
}
else {
var lang = 'en';
}
Should be:

var lang = 'en';
if ('userLanguage' in navigator) {
lang = navigator.userL anguage.substri ng(0,2);
}
else if ('language' in navigator) {
lang = navigator.langu age.substring(0 ,2);
}
>
TransModal.lang = (lang in TransModal.butt onLabelSet) ?
lang : 'en';
I'd assume that "lang" is unknown here since there are only three
vars with that name each of which inside a different "if"-scope.
[...]
var wndDialog = document.create Element('DIV');

wndDialog.id = 'TransModalDial og';

/* Some complex styling of a completely empty element
* may make IE to act strange. To avoid that we are
* setting the default content to NO-BREAK SPACE
*/
wndDialog.inner HTML = '<span>\u00A0</span>';
Why use "innerHTML" (instead of "createElement( )") here?
>
with (wndDialog.styl e) {
position = 'absolute';
zIndex = '1002';
left = '0px';
top = '0px';
cursor = 'default';
visibility = 'hidden';
}
Just a matter of style & opinion:

var s;
if ((s = wndDialog.style )) {
s.position = 'absolute';
s.zIndex = '1002';
s.left = '0px';
s.top = '0px';
s.cursor = 'default';
s.visibility = 'hidden';
}
[...]
var wndCover = document.create Element('DIV');

wndCover.id = 'TransModalVeil ';

wndCover.innerH TML = '<span>\u00A0</span>';
see above.
>
with (wndCover.style ) {
position = 'absolute';
zIndex = '1001';
left = '0px';
top = '0px';
margin = '0px 0px';
padding = '0px 0px';
borderStyle = 'none';
cursor = 'not-allowed';
visibility = 'hidden';
}
Same as above.
[...]
dialog.innerHTM L = dlgPrompt + buttons;
Same as above.
--
Matthias
/"\
\ / ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
X - AGAINST M$ ATTACHMENTS
/ \
Jun 27 '08 #4
On May 6, 3:01 pm, Matthias Watermann wrote:
<snip>
I'd assume that "lang" is unknown here since there are
only three vars with that name each of which inside a
different "if"-scope.
Javascript is not block-scoped. Its scoping units are functions, so
any variable declared at any point within a function body is declared
for the entire execution of that function (including any code that
precedes the declaration in the source text).
Jun 27 '08 #5
On May 6, 5:17*pm, Henry <rcornf...@rain drop.co.ukwrote :
Javascript is not block-scoped. Its scoping units are functions, so
any variable declared at any point within a function body is declared
for the entire execution of that function (including any code that
precedes the declaration in the source text).
e.g.

<html><head></head><body><scr ipt>

ka="global ka";
(function () {
alert(ka);
var ka = "local ka";
alert(ka);
})();

</script></body></html>
Jun 27 '08 #6
VK wrote:
In the continuation of the discussion at "Making Site Opaque -- This
Strategy Feasible?" and my comment at
http://groups.google.com/group/comp....15a4408680e8e2

I am proposing the current v. 0.0.3 beta for criticism and for bug fix
in cope that it may be interesting for anyone to donate their time to
participate.
Hey, why did you left out those nice faders() ?

--Jorge.
Jun 27 '08 #7
VK
On May 6, 7:55 pm, Jorge <jo...@jorgecha morro.comwrote:
VK wrote:
In the continuation of the discussion at "Making Site Opaque -- This
Strategy Feasible?" and my comment at
http://groups.google.com/group/comp....15a4408680e8e2
I am proposing the current v. 0.0.3 beta for criticism and for bug fix
in cope that it may be interesting for anyone to donate their time to
participate.

Hey, why did you left out those nice faders() ?
I did not! Look at TransModal.cove rEffect - it is waiting for its
moment. It is just necessary to make working properly the most basic
functionality before starting with extra features. It like a car:
before bringing it to West Cost Custom it must be able to at least
leave the garage by its own :-)
Jun 27 '08 #8
VK
On May 6, 6:01 pm, Matthias Watermann <li...@mwat.dew rote:
On Tue, 06 May 2008 02:25:41 -0700, VK wrote:
[...]

Just some hints after reading (w/o testing) it:
if ('userLanguage' in navigator) {
var lang = navigator.userL anguage.substri ng(0,2);
}
else if ('language' in navigator) {
var lang = navigator.langu age.substring(0 ,2);
}
else {
var lang = 'en';
}

Should be:

var lang = 'en';
if ('userLanguage' in navigator) {
lang = navigator.userL anguage.substri ng(0,2);
}
else if ('language' in navigator) {
lang = navigator.langu age.substring(0 ,2);
}
with pending else{} left this way. Not a crime of any kind and often
met, but we have here a standard logical construct
if X then do this
else if Y then do that
(if neither of both then)
else do default

which is

if (X) {}
else if (Y) {}
else {}

what would be benefits to break the logic flow? I am not claiming that
there are not any, but what are they?

TransModal.lang = (lang in TransModal.butt onLabelSet) ?
lang : 'en';

I'd assume that "lang" is unknown here since there are only three
vars with that name each of which inside a different "if"-scope.
Variable scope in Javascript was already explained by other posters as
I see.
[...]
var wndDialog = document.create Element('DIV');
wndDialog.id = 'TransModalDial og';
/* Some complex styling of a completely empty element
* may make IE to act strange. To avoid that we are
* setting the default content to NO-BREAK SPACE
*/
wndDialog.inner HTML = '<span>\u00A0</span>';

Why use "innerHTML" (instead of "createElement( )") here?
because then we have to add TextNode into it which is a royal pain in
IE6 - not talking about adding form controls this way which is a
headache beyond tolerance IMO with IE. Also innerHTML is 10-15 times
quicker then per-node manipulations.
This being said, I am ready to replace both innerHTML usages by a
reliable DOM alternative if anyone has it.
with (wndDialog.styl e) {
position = 'absolute';
zIndex = '1002';
left = '0px';
top = '0px';
cursor = 'default';
visibility = 'hidden';
}

Just a matter of style & opinion:

var s;
if ((s = wndDialog.style )) {
s.position = 'absolute';
s.zIndex = '1002';
s.left = '0px';
s.top = '0px';
s.cursor = 'default';
s.visibility = 'hidden';
}
Yeah... "To WITH, or not to WITH" :-)
Javascript WITH implementation is indeed a ticking bomb to handle with
extreme care. I myself once was a complete fool with it:
http://groups.google.com/group/mozil...ef5a71b7d95318

So I do agree with Matt Kruse at
http://www.javascripttoolbox.com/bestpractices/#with
as overall - but I do not agree to make WITH as some self-contained
evilness that acts by its own no matter what :-) In case as above
is .style is available then all these properties should be here as
well. Or still better do not take the risk?
[...]
Jun 27 '08 #9
On May 6, 8:20*pm, VK <schools_r...@y ahoo.comwrote:
Yeah... "To WITH, or not to WITH" :-)
Javascript WITH implementation is indeed a ticking bomb to handle with
extreme care. I myself once was a complete fool with it:http://groups.google.com/group/mozil...ef5a71b7d95318

So I do agree with Matt Kruse athttp://www.javascriptt oolbox.com/bestpractices/#with
as overall - but I do not agree to make WITH as some self-contained
evilness that acts by its own no matter what :-) In case as above
is .style is available then all these properties should be here as
well. Or still better do not take the risk?
Yeah... "With statement considered harmful" :-)
http://yuiblog.com/blog/2006/04/11/w...dered-harmful/
Jun 27 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
6728
by: Gilles T. | last post by:
Hi, How I can refresh a modal dialog in asp.net? I open a modal dialog in first with a dropdownlist. To add a element in my dropdownlist (table), I open a second modal dialog to ask element and save. When I return in my first modal dialog, dropdownlist is not refreshed. I don't know how to refresh my first modal dialog to view my new element in the dropdownlist. Thanks to help me with this problem!
3
5839
by: Cosh | last post by:
Hi I want to ask for a user before running the application, and be able to restart the application if the user wants to change the "user" In my main methode I have something like this (pseudocode) static void main() //My user dialoo MyUserDialog mud = new MyUserDialog(
3
8150
by: Andrew | last post by:
I get a Null Reference Exception if I close a non-modal dialog (that is, a form opened with Show()) when a selection is made from a ComboBox. The error message refers to Unsafe Native Methods, but the code is 100% managed. The exception is not thrown if the dialog was modal (opened with ShowDialog()) or if the selection is made from, say, a ListBox. I have included a simple example below. I am using C#.NET 2003, Standard Edition.
2
4303
by: jm | last post by:
I have a parent window: <script language="javascript"> function doSearch() { result=showModalDialog("searchmni.aspx?lastname=smith"); alert(result); } </script>
3
2885
by: Earl Teigrob | last post by:
Can a Modal Dialog Box do forms ASP.NET forms validation from within the Modal Box? I want to pop up a dialog box to the user and have it do its own post backs with validation checking and then save the data and close the dialog when the page is valid. I have read a little about using Iframes to post back to, but was wondering if this would work for what I am trying to do? Also, does anyone have a code sample of this (postback from modal...
5
5459
by: Jeremy | last post by:
How can I view the HTML source of a page that has been opened as a modal dialog box (in IE6)? Thanks
10
2754
by: Guadala Harry | last post by:
I have a modal dialog that currently does all of the following except item 4. 1. lets users select a graphic from a list of thumbnails (and when selected, displays the full-size image in a preview DIV) 2. when users close the dialog, the application receives the URL to the selected graphic. 3. the modal dialog lets the users upload a new graphic if the dialog does not present them with one they are already happy with. 4. upon uploading...
3
3061
by: Ant | last post by:
Hi, I'm using a modal dialog box to input data. I have created properties on the dialog form to capture the data so that it might be read from the main form via the dialog form. This approach encapsulates the data & I can implement the business logic in the dialog form. This leaves me with the quiestion. There is no Class representing the data I'm capturing, (say, it's a customer) apart from the dialog form class. The form now...
1
1223
by: VK | last post by:
For the previous version see: http://groups.google.com/group/comp.lang.javascript/msg/c31d18013a2f99de First of all many thanks for everyone's feedback for the previous beta: here in c.l.j. and who wrote directly to my e-mail. It would be still the best IMHO to keep the discussion public though personal feedback is still and always welcome. Secondly Sourceforge just found the glitch in the account setup preventing to use it. So the...
0
8739
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9383
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9236
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9088
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8051
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6681
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5995
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4502
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
3
2147
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.