Search Results

Search found 42625 results on 1705 pages for 'function points'.

Page 595/1705 | < Previous Page | 591 592 593 594 595 596 597 598 599 600 601 602  | Next Page >

  • ob_start() is partially capturing data

    - by AAA
    I am using the following code: PHP: // Generate Guid function NewGuid() { $s = strtoupper(uniqid(rand(),true)); $guidText = substr($s,0,8) . '-' . substr($s,8,4) . '-' . substr($s,12,4). '-' . substr($s,16,4). '-' . substr($s,20); return $guidText; } // End Generate Guid $Guid = NewGuid(); $alphabet = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'; function base_encode($num, $alphabet) { $base_count = strlen($alphabet); $encoded = ''; while ($num >= $base_count) { $div = $num/$base_count; $mod = ($num-($base_count*intval($div))); $encoded = $alphabet[$mod] . $encoded; $num = intval($div); } if ($num) $encoded = $alphabet[$num] . $encoded; return $encoded; } function base_decode($num, $alphabet) { $decoded = 0; $multi = 1; while (strlen($num) > 0) { $digit = $num[strlen($num)-1]; $decoded += $multi * strpos($alphabet, $digit); $multi = $multi * strlen($alphabet); $num = substr($num, 0, -1); } return $decoded; } ob_start(); echo base_encode($Guid, $alphabet); //should output: bUKpk $theid = ob_get_contents(); ob_get_clean(); The problem: When i echo $theid, it shows the complete entry, but as it is being inserted into the database, only the first entry in the sequence gets inserted, for example for the entry buKPK, only 'b' is being inserted not the rest.

    Read the article

  • background-color hex to js variable (jquery)

    - by Ezdaroth
    I'm kinda new to javascript and jquery and now I'm facing a problem: I need to post some data to php and one bit of the data needs to be the background color hex of div X. Jquery has css("background-color") function and with it I can get rgb value of the background into a javascript variable. The css function seems to return a string like this rgb(0, 70, 255). I couldn't find any way to get hex of the background-color (even tho it's set as hex in css). So it seems like I need to convert it. I found a function for converting rgb to hex, but it needs to be called with three different variables, r, g and b. So I would need to parse the string rgb(x,xx,xxx) into var r=x; var g=xx; var b=xxx; somehow. I tried to google parsing strings with javascript, but didn't really understand the regular expressions thing. Could someone tell me if there's a way to get background-color of div as hex, or explain how to convert the string into 3 different variables.

    Read the article

  • JQuery Hover does not work Mozilla

    - by josephj1989
    I have the following Snippet of code.The hover has a problem in Mozilla - It changes color on hover but some times it does not revert back when we go out.Mind you it only happens sometimes.Also in such cases if I examine the HTML using FireBug I can see that the Extra Class is assigned even after hover is out.It works OK on IE .This is a simplified version Also as you can see I am setting color on the TR.But this does not change the Color on TextBoxes inside TR. How can I make sure the background color of the Controls contained in the TR is also changed on hover. <style type="text/css"> .HighLight { background-color:Fuchsia; } .Select { border:soild 2px Blue; margin:3px; } </style> <script type="text/javascript" src="jquery-1.4.2.js"> </script> <script type="text/javascript"> $(function() { $(".Select").hover( function() { $(this).addClass("HighLight"); }, function() { $(this).removeClass("HighLight"); }); }); My Markup generated by ASP.NET Repeater Control is a table with TR assigned Class Select. <tr class="Select" > <td> <input type="checkbox" id="chkSelect" /> </td> <td> <input name="Repeater1$ctl11$tb" type="text" value="Sharp Bikes" id="Repeater1_ctl11_tb" /> </td> <td> <input name="Repeater1$ctl11$tb2" type="text" value="10/13/2004 11:15:07 AM" id="Repeater1_ctl11_tb2" /> </td> </tr>

    Read the article

  • XSLT question, how to transform xml when I have xslt file stored, but object in mem?

    - by JL
    I have a function that takes 2 parameters : 1 = XML file, 2 = XSLT file, then performs a transformation and returns the resulting HTML. Here is the function: /// <summary> /// Will apply an XSLT style to any XML file and return the rendered HTML. /// </summary> /// <param name="xmlFileName"> /// The file name of the XML document. /// </param> /// <param name="xslFileName"> /// The file name of the XSL document. /// </param> /// <returns> /// The rendered HTML. /// </returns> public string TransformXml(string xmlFileName, string xslFileName) { var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None }; var xd = new XmlDocument(); xd.Load(xtr); var xslt = new System.Xml.Xsl.XslCompiledTransform(); xslt.Load(xslFileName); var stm = new MemoryStream(); xslt.Transform(xd, null, stm); stm.Position = 1; var sr = new StreamReader(stm); xtr.Close(); return sr.ReadToEnd(); } I want to change the function not to accept a file name, but rather a strongly typed object de-serialized (now in the form of a variable). Is this possible? So keep the xslt coming from a file, but the xml input should be a the serialized xml of the object I pass, and I want to do this without file system IO.

    Read the article

  • Flex ChangeWatcher bind to a negative condition

    - by bedwyr
    I have a bindable getter in a component which informs me when a [hidden] timer is running. I also have a context menu which, if this timer is running, should disable one of the menu items. Is it possible to create a ChangeWatcher which watches for the negative condition of a bindable property/getter and changes the enabled property of the menu item? Here are the basic methods I'm trying to bind together: Class A: [Bindable] public function get isPlaying():Boolean { return (_timer != null) ? _timer.running : false; } Class B: private var _playingWatcher:ChangeWatcher; public function createContextMenu():void { //...blah blah, creating context menu var newItem:ContextMenuItem = new ContextMenuItem(); _playingWatcher = BindingUtils.bindProperty(newItem, "enabled", _classA, "isPlaying"); } In the code above, I have the inverse case: when isPlaying() is true, the menu item is enabled; I want it to only be enabled when the condition is false. I could create a second getter (there are other bindings which rely on the current getter) to return the inverse condition, but that sounds ugly to me: [Bindable] public function get isNotPlaying():Boolean { return !isPlaying; } Is this possible, or is there another approach I'm completely missing?

    Read the article

  • Global and local variables in my script

    - by Acorn
    I'm starting out learning javascript, and tried to write a little script that would make a grid of divs on a page. Here's the script: var tileWidth=50; var tileHeight=100; var leftPos=10; var topPos=10; var columns=10; var rows=10; var spacing=5; $('document').ready(function() { placeTiles(); }); function makeRow() { for (var i=0; i<columns; i++) { $('#canvas').append('<div class="tile" style="left:' + leftPos + 'px;top:' + topPos + 'px;"></div>'); var leftPos = leftPos + tileWidth + spacing; } } function placeTiles() { for (var i=0; i<rows; i++) { makeRow(); var topPos = topPos + tileHeight + spacing; } } At the moment, 100 <div>s get created, all with a top position of 10px and a left position of undefined (for the first <div> in the row) or NaN. What should I be doing differently? Why can't makerow() see my global leftPos variable (and all the other variables for that matter)? Thanks.

    Read the article

  • X-Forwarded-For causing Undefined index in PHP

    - by bateman_ap
    Hi, I am trying to integrate some third party tracking code into one of my sites, however it is throwing up some errors, and their support isn't being much use, so i want to try and fix their code myself. Most I have fixed, however this function is giving me problems: private function getXForwardedFor() { $s =& $this; $xff_ips = array(); $headers = $s->getHTTPHeaders(); if ($headers['X-Forwarded-For']) { $xff_ips[] = $headers['X-Forwarded-For']; } if ($_SERVER['REMOTE_ADDR']) { $xff_ips[] = $_SERVER['REMOTE_ADDR']; } return implode(', ', $xff_ips); // will return blank if not on a web server } In my dev enviroment where I am showing all errors I am getting: Notice: Undefined index: X-Forwarded-For in /sites/webs/includes/OmnitureMeasurement.class.php on line 1129 Line 1129 is: if ($headers['X-Forwarded-For']) { If I print out $headers I get: Array ( [Host] => www.domain.com [User-Agent] => Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 [Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [Accept-Language] => en-gb,en;q=0.5 [Accept-Encoding] => gzip,deflate [Accept-Charset] => ISO-8859-1,utf-8;q=0.7,*;q=0.7 [Keep-Alive] => 115 [Connection] => keep-alive [Referer] => http://www10.toptable.com/ [Cookie] => PHPSESSID=nh9jd1ianmr4jon2rr7lo0g553; __utmb=134653559.30.10.1275901644; __utmc=134653559 [Cache-Control] => max-age=0 ) I can't see X-Forwarded-For in there which I think is causing the problem. Is there something I should add to the function to take this into account? I am using PHP 5.3 and Apache 2 on Fedora

    Read the article

  • VSC++, virtual method at bad adress, curious bug

    - by antoon.groenewoud
    Hello, This guy: virtual phTreeClass* GetTreeClass() const { return (phTreeClass*)m_entity_class; } When called, crashed the program with an access violation, even after a full recompile. All member functions and virtual member functions had correct memory adresses (I hovered mouse over the methods in debug mode), but this function had a bad memory adress: 0xfffffffc. Everything looked okay: the 'this' pointer, and everything works fine up until this function call. This function is also pretty old and I didn't change it for a long time. The problem just suddenly popped up after some work, which I commented all out to see what was doing it, without any success. So I removed the virtual, compiled, and it works fine. I add virtual, compiled, and it still works fine! I basically changed nothing, and remember that I did do a full recompile earlier, and still had the error back then. I wasn't able to reproduce the problem. But now it is back. I didn't change anything. Removing virtual fixes the problem. Sincerely, Antoon

    Read the article

  • Strange Matlab error: "??? Subscript indices must either be real positive integers or logicals"

    - by Roee Adler
    I have a function func that returns a vector a. I usually plot a and then perform further analysis on it. I have a certain scenario when once I try to plot a, I get a "??? Subscript indices must either be real positive integers or logicals" error. Take a look at the following piece of code to see the vector's behavior: K>> a a = 5.7047 6.3529 6.4826 5.5750 4.1488 5.8343 5.3157 5.4454 K>> plot(a) ??? Subscript indices must either be real positive integers or logicals. K>> for i=1:length(a); b(i) = a(i); end; K>> b b = 5.7047 6.3529 6.4826 5.5750 4.1488 5.8343 5.3157 5.4454 K>> plot(b) ??? Subscript indices must either be real positive integers or logicals. The scenario where this happens is when I call function func from within another function (call it outer_func), and return the result directly as outer_func's result. When debugging inside outer_func, I can plot a properly, but outside the scope of outer_func, its result has the above behavior. What can cause this? Where do I start from?

    Read the article

  • Choosing between instance methods and separate functions?

    - by StackedCrooked
    Adding functionality to a class can be done by adding a method or by defining a function that takes an object as its first parameter. Most programmers that I know would choose for the solution of adding a instance method. However, I sometimes prefer to create a separate function. For example, in the example code below Area and Diagonal are defined as separate functions instead of methods. I find it better this way because I think these functions provide enhancements rather than core functionality. Is this considered a good/bad practice? If the answer is "it depends", then what are the rules for deciding between adding method or defining a separate function? class Rect { public: Rect(int x, int y, int w, int h) : mX(x), mY(y), mWidth(w), mHeight(h) { } int x() const { return mX; } int y() const { return mY; } int width() const { return mWidth; } int height() const { return mHeight; } private: int mX, mY, mWidth, mHeight; }; int Area(const Rect & inRect) { return inRect.width() * inRect.height(); } float Diagonal(const Rect & inRect) { return std::sqrt(std::pow(static_cast<float>(inRect.width()), 2) + std::pow(static_cast<float>(inRect.height()), 2)); }

    Read the article

  • jQuery AJAX: How to pass large HTML tags as parameters?

    - by marknt15
    Hello, How can I pass a large HTML tag data to my PHP using jQuery AJAX? When I'm receiving the result it is wrong. Thanks in advance. Cheers, Mark jQuery AJAX code: $('#saveButton').click(function() { // do AJAX and store tree structure to a PHP array (to be saved later in database) var treeInnerHTML = $("#demo_1").html(); alert(treeInnerHTML); var ajax_url = 'ajax_process.php'; var params = 'tree_contents=' + treeInnerHTML; $.ajax({ type: 'POST', url: ajax_url, data: params, success: function(data) { $("#show_tree").html(data); }, error: function(req, status, error) { } }); }); treeInnerHTML actual value: <ul class="ltr"> <li id="phtml_1" class="open"><a href="#"><ins>&nbsp;</ins>Root node 1</a> <ul> <li class="leaf" id="phtml_2"><a href="#"><ins>&nbsp;</ins>Child node 1</a></li> <li class="last leaf" id="phtml_3"><a href="#"><ins>&nbsp;</ins>Child node 2</a></li> </ul> </li> <li id="phtml_5" class="file last leaf"><a href="#"><ins>&nbsp;</ins>Root node 2</a></li> </ul> Returned result from my show_tree div: <ul class="\&quot;ltr\&quot;"> <li id="\&quot;phtml_1\&quot;" class="\&quot;open\&quot;"><a href="%5C%22#%5C%22"><ins></ins></a></li></ul>

    Read the article

  • Jquery Cycle Lite plugin unable to see images that have been loaded by an AJAX call

    - by William Macdonald
    Hi, I am having problems using the jquery cycle lite plugin on some images that are added via AJAX. Here is the jquery code: $(function() { resizeWindow(); $(window).bind("resize", resizeWindow); $("#assignment-nav").accordion({ header: "h3", autoHeight: false }); $(".project").click(function() { // get the HTML and load into div $('.image-holder').empty(); var justTheNumber = $(this).attr('id').replace('project-',''); $.get("get_project_images.php", {project_id:justTheNumber}, function(data){ $('.image-holder').append(data); } ); $(".image-holder").cycle({ // Cycle plugin prev: '#prev', next: '#next', timeout: 0, speed: 250 }) }); }); My code works fine in that the IMG tags are loaded and the first image of the slide show is displayed. However the prev/next buttons don't work. When I load the images via static HTML the slideshow prev/next links works fine. (I just copied and pasted the generated HTML.) I understand I need to use something like .bind or .live to make the Cycle plugin 'see' the new images. I have tried everything I can think of but I can't make it work. What am I doing wrong ?

    Read the article

  • Getting rid of nested using(...) statements

    - by Ghostrider
    Sometimes I need to use several disposable objects within a function. Most common case is having StreamReader and StreamWriter but sometimes it's even more than this. Nested using statements quickly add up and look ugly. To remedy this I've created a small class that collects IDisposable objects and disposes of them when it itself is disposed. public class MultiDispose : HashSet<IDisposable>, IDisposable { public MultiDispose(params IDisposable[] objectsToDispose) { foreach (IDisposable d in objectsToDispose) { this.Add(d); } } public T Add<T>(T obj) where T : IDisposable { base.Add(obj); return obj; } public void DisposeObject(IDisposable obj) { obj.Dispose(); base.Remove(obj); } #region IDisposable Members public void Dispose() { foreach (IDisposable d in this) { d.Dispose(); } } #endregion } So my code now looks like this: using (MultiDispose md = new MultiDispose()) { StreamReader rdr = md.Add(new StreamReader(args[0])); StreamWriter wrt = md.Add(new StreamWriter(args[1])); WhateverElseNeedsDisposing w = md.Add(new WhateverElseNeedsDisposing()); // code } Is there anything wrong with this approach that can cause problems down the road? I left the Remove function inherited from the HashSet on purpose so that the class would be more flexible. Surely misusing this function can lead to objects not being disposed of properly, but then there many other ways to shoot yourself in the foot without this class.

    Read the article

  • Javascript check of a form, not waiting for ajax response

    - by Y.G.J
    this is a part of the check in my form function check(theform) { var re = /^\w[0-9A-Za-z]{5,19}$/; if (!re.test(theform.username.value)) { alert("not valid username"); theform.username.focus(); return false; } $.ajax({ type: "POST", url: "username.asp", data: "username="+theform.username.value, success: function(msg){ username = msg; if (!username) { alert("username already in use"); return false; } } }); var re = /^\w[0-9A-Za-z]{5,19}$/; if (!re.test(theform.password.value)) { alert("not valid password"); theform.password.focus(); return false; } } for some reason of sync... it check the username then duplicated username with the ajax and not waiting for respond and jump to the password check. i don't want to insert the rest of the code to isreadystate (or what ever it is) because i might move the username duplicate check to the end... and then the function will end before the ajax anyway what should i do?

    Read the article

  • IE 8 issue where window.close() is not occuring after winword.exe is fired to print a document

    - by Dave
    In my web application, a popup page is called using window.open javascript. There is a Print button on the page that has an onclick event that calls a printchecks() function. The code in the printchecks() function is function printchecks(){ window.print(); window.close(); } Issue is that the window.print brings up the printer dialog fine and then you select a printer. The page is actually then printed and is a reference to an rtf document that opens in winword.exe behind the scenes. For some reason in IE 8, the window.close() does not occur. This worked in IE 7. In both cases, WINWORD.EXE process appears to run in the background after the page is printed but in the case of IE 8, control is not give back to that popup page until the WINWORD.EXE process dies which takes a minute or so. I am thinking that becasue control is not being sent back to the page in IE 8, the page is not closed automatically. You can close the page after control is given back after the minute or so. This does happen in IE on both Windows XP and Windows 7. Any ideas if there is a setting in IE 8 or some other reason this may be occuring?

    Read the article

  • Pthread-ed filetransfer application crash

    - by N.R.S.Sowrabh
    I am developing a file transfer application and am using pthreads on the receiver side for receiving multiple files. The function which is passed to pthreads calls the following function and at the end of this function I get a SIGABRT error and stack-smashing error appears on the terminal. Please help me find the bugs. If you need anymore code I'd be able to post the same. Thanks in advance. void recv_mesg(int new_sockid, char *fname) { cout<<"New Thread created with "<<new_sockid<<" and "<<fname<<endl; char buf[MAXLINE]; int fd; fd = open(fname, O_WRONLY ); int len =0; while (len<1024) { int curr = recv(new_sockid, buf, 1024-len, 0); //fprintf(stdout,"Message from Client:\n"); len += curr; //write (fd, buf, curr); fputs(buf, stderr); } int file_size = 0; sscanf(buf,"%d",&file_size); if(file_size<=0) perror("File Size < 0"); sprintf(buf,"Yes"); send(new_sockid,buf,strlen(buf),0); len = 0; while (len<file_size) { int curr = recv(new_sockid, buf, min(file_size-len,MAXLINE), 0); len += curr; write (fd, buf, curr); //fputs(buf, stdout); //fflush(stdout); } len = 0; close(fd); close(new_sockid); }

    Read the article

  • ASP.Net IE6 disable button

    - by RemotecUk
    Hi, I have the following code running as part of my OnClientclick attribute on my custom ASP.Net button.... function clickOnce(btnSubmit) { if ( typeof( Page_ClientValidate ) == 'function' ) { if ( ! Page_ClientValidate() ) { return false; } } btnSubmit.disabled = true; } There is a validator on the page. If a given text box is empty then the validator activates no problem. If a given text box is populated then the button disables but a post back does not occur. The rendered markup looks like this... <input type="submit" name="TestButton" value="Test Button" onclick="clickOnce(this);WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;TestButton&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" id="TestButton" class="euva-button-decorated" /> This works nicely in Firefox but not in IE6. Its almost like after the button has been disabled it simply does not run the post back javascript. Any ideas welcomed. EDIT: I have tried returning true from the function as well.

    Read the article

  • google chrome extension update text after response callback

    - by Jerome
    I am writing a Google Chrome extension. I have reached the stage where I can pass messages back and forth readily but I am running into trouble with using the response callback. My background page opens a message page and then the message page requests more information from background. When the message page receives the response I want to replace some of the standard text on the message page with custom text based on the response. Here is the code: chrome.extension.sendRequest({cmd: "sendKeyWords"}, function(response) { keyWordList=response.keyWordsFound; var keyWords=""; for (var i = 0; i FIRST QUESTION: This all seems to work fine but the text on the page doesn't change. I am almost certainly because the callback completes after the page is finished loading and the rest of the code finishes before the callback completes, too. How do I update the page with the new text? Can I listen for the callback to complete or something like that? SECOND QUESTION: The procedure I am pursuing first opens the message page and then the message page requests the keyword list from background. Since I always want the keyword list, it makes more sense to just send it when I create the tab. Can I do that? Here is the code from background that opens the message page: //when request from detail page to open message page chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { if(request.cmd == "openMessage") { console.log("Received Request to Open Message, Profile Score: "+request.keyWordsFound.length); keyWordList=request.keyWordsFound; chrome.tabs.create({url: request.url}, function(tab){ msgTabId=tab.id; //needed to determine if message tab has later been closed chrome.tabs.executeScript(tab.id, {file: "message.js"}); }); console.log("Opening Message"); } });

    Read the article

  • [Wordpress] How do you remove a Category-style (hierarchical) taxonomy metabox

    - by Manny Fleurmond
    I was wondering if someone can help me with this. I'm currently following Shibashake's tutorial about creating custom meta-boxes that include taxonomy selection here: http://shibashake.com/wordpress-theme/wordpress-custom-taxonomy-input-panels . They show how to remove the standard metabox Wordpress automatically creates for taxonomies using the remove_meta_box function. Only problem is that the function for some reason doesn't seem to work on taxonomies that work as categories ie ones where the hierarchical option is set to true. I know I have the function working because the ones set up as tags disappear easily enough. I can't if it just isn't possible or if there is something special I need to add in one of the parameters to make it work. Example: $args = array( 'hierarchical' => false, 'label' =>'People', 'query_var' => true, 'rewrite' => true ); register_taxonomy('people', 'post',$args); remove_meta_box('tagsdiv-people','post','side'); That works fine. If I set hierarchical to 'true, however, the meta box stays put. Can anyone shed some light?

    Read the article

  • jquery clone only once

    - by tsiger
    I have a series of divs like this: <div id="available-posts"> <div class="post" id="unique_id"> <a href="#" class="addme">Add</a> Some text </div> <div class="post" id="unique_id"> <a href="#" class="addme">Add</a> Some text </div> </div> The unique_id is a different number for each of the divs. Now i have a new empty div like this <div class="related-posts"></div> And i clone items in there. The thing is that i want to check if an item is already cloned. If it is i want to stop it from being cloned again. This is how i clone items: // clone it $('.addme').live('click', function() { $(this).parents('div.thepost').clone().fadeIn('normal').appendTo('#related-posts').find('a.addme').html('Remove').removeClass('addme').addClass('removeme'); return false; }); // remove it $('.removeme').live('click', function() { $(this).parents('div.thepost').fadeOut('normal', function() {$(this).remove(); }); return false; }); In other words i want the cloned list to contain only unique items. Not for example 2 clones of the same post. *edit: i am using live coz the first list (available posts) is populated through an AJAX call.

    Read the article

  • Extjs 4.1 How to call controller action method from form

    - by Omar Faruq
    Extjs 4.1 How to call controller action method from form which is already use in a button action but i want this method reuse from a form field but do not how i can do? // here is my controller code init: function() { this.control({ 'itemsgrid': { removeitem: this.removeUser }, 'salewindow button[action=resetAll]': { click: this.resertform }, 'salewindow button[action=saveOrder]' : { click : this.onsaveOrder }, 'salewindow button[action=PDF]' : { click : this. pdfreport } }); }, resertform : function(button){ var store = Ext.data.StoreManager.get('Items'); store.destroy(); var vatstore = Ext.data.StoreManager.get('Vats'); vatstore.reload(); var rebatestore = Ext.data.StoreManager.get('Rebates'); rebatestore.reload(); Ext.getCmp('calculation-form').getForm().reset(); Ext.getCmp('itemform2').getForm().reset(); Ext.getCmp('itemsgrid').subtotalquantity(p=0); store.reload(); var co=store.getCount(); console.log(co); Ext.getCmp('customerID').setValue('0'); var a = Ext.getCmp('customerID').getValue(); Ext.getCmp('itemform2').customerinfo(a); } //and here is my from field listener { xtype : 'textfield', name : 'BranchId', fieldLabel : 'Branch Id', allowNegative : false, id : 'branchid', value : '1', onBlur: function(){ restoreItem();// i want call this method from here whis is stay in controller } }

    Read the article

  • Tail recursion and memoization with C#

    - by Jay
    I'm writing a function that finds the full path of a directory based on a database table of entries. Each record contains a key, the directory's name, and the key of the parent directory (it's the Directory table in an MSI if you're familiar). I had an iterative solution, but it started looking a little nasty. I thought I could write an elegant tail recursive solution, but I'm not sure anymore. I'll show you my code and then explain the issues I'm facing. Dictionary<string, string> m_directoryKeyToFullPathDictionary = new Dictionary<string, string>(); ... private string ExpandDirectoryKey(Database database, string directoryKey) { // check for terminating condition string fullPath; if (m_directoryKeyToFullPathDictionary.TryGetValue(directoryKey, out fullPath)) { return fullPath; } // inductive step Record record = ExecuteQuery(database, "SELECT DefaultDir, Directory_Parent FROM Directory where Directory.Directory='{0}'", directoryKey); // null check string directoryName = record.GetString("DefaultDir"); string parentDirectoryKey = record.GetString("Directory_Parent"); return Path.Combine(ExpandDirectoryKey(database, parentDirectoryKey), directoryName); } This is how the code looked when I realized I had a problem (with some minor validation/massaging removed). I want to use memoization to short circuit whenever possible, but that requires me to make a function call to the dictionary to store the output of the recursive ExpandDirectoryKey call. I realize that I also have a Path.Combine call there, but I think that can be circumvented with a ... + Path.DirectorySeparatorChar + .... I thought about using a helper method that would memoize the directory and return the value so that I could call it like this at the end of the function above: return MemoizeHelper( m_directoryKeyToFullPathDictionary, Path.Combine(ExpandDirectoryKey(database, parentDirectoryKey)), directoryName); But I feel like that's cheating and not going to be optimized as tail recursion. Any ideas? Should I be using a completely different strategy? This doesn't need to be a super efficient algorithm at all, I'm just really curious. I'm using .NET 4.0, btw. Thanks!

    Read the article

  • How do I create efficient instance variable mutators in Matlab?

    - by Trent B
    Previously, I implemented mutators as follows, however it ran spectacularly slowly on a recursive OO algorithm I'm working on, and I suspected it may have been because I was duplicating objects on every function call... is this correct? %% Example Only obj2 = tripleAllPoints(obj1) obj.pts = obj.pts * 3; obj2 = obj1 end I then tried implementing mutators without using the output object... however, it appears that in MATLAB i can't do this - the changes won't "stick" because of a scope issue? %% Example Only tripleAllPoints(obj1) obj1.pts = obj1.pts * 3; end For application purposes, an extremely simplified version of my code (which uses OO and recursion) is below. classdef myslice properties pts % array of pts nROW % number of rows nDIM % number of dimensions subs % sub-slices end % end properties methods function calcSubs(obj) obj.subs = cell(1,obj.nROW); for i=1:obj.nROW obj.subs{i} = myslice; obj.subs{i}.pts = obj.pts(1:i,2:end); end end function vol = calcVol(obj) if obj.nROW == 1 obj.volume = prod(obj.pts); else obj.volume = 0; calcSubs(obj); for i=1:obj.nROW obj.volume = obj.volume + calcVol(obj.subs{i}); end end end end % end methods end % end classdef

    Read the article

  • Jquery and Ajax Post issue

    - by Jerry
    Hello guys I am trying to add a click event on the element that is return from the server via ajax. Apparently, I have to attached my js file inside my return response instead of my main script. Is this the best practice? Do I have to create the separated js file to add event on the return text?? Example: My Jquery - selectWeek.js $(document).ready(function(){ //handle ajax.. var url="sendSchedule.php"; $.post( url, {week:input}, function(responseText){ $("#ajax").html(responseText); }, "html" ); // click on #add button $("#add").click(function(){ //do something return false; }); }); My main page <script type="text/javascript" src="JS/selectWeek.js"></script> </HEAD> <BODY> //the code that trigger ajax is omitted <div id=ajax> //the response text will be inserted here </div> </BODY> </HTML> response from the server // display html (omit) // Do I have to attach the same js file to let #add listen the event? <script type="text/javascript" src="JS/selectWeek.js"></script> <form> <input type='button' id='add' value='add'/> </form> I am not sure if i make my question clear. I want to know if I need to add events on the return text. Do I have to add js file link on the return text or there is a way to do it on the main page. Thanks for any reply.

    Read the article

  • Exception calling remote SOAP call from thread

    - by Duncan
    This is an extension / next step of this question I asked a few minutes ago. I've a Delphi application with a main form and a thread. Every X seconds the thread makes a web services request for a remote object. It then posts back to the main form which handles updating the UI with the new information. I was previously using a TTimer object in my thread, and when the TTimer callback function ran, it ran in the context of the main thread (but the remote web services request did work). This rather defeated the purpose of the separate thread, and so I now have a simple loop and sleep routine in my thread's Execute function. The problem is, an exception is thrown when returning from GetIMySOAPService(). procedure TPollingThread.Execute; var SystemStatus : TCWRSystemStatus; begin while not Terminated do begin sleep(5000); try SystemStatus := GetIMySOAPService().GetSystemStatus; PostMessage( ParentHandle, Integer(apiSystemStatus), Integer(SystemStatus), 0 ); SystemStatus.DataContext := nil; LParam(SystemStatus) := 0; except end; end; end; Can anyone advise as to why this exception is being thrown when calling this function from the thread? I'm sure I'm overlooking something fundamental and simple. Thanks, Duncan

    Read the article

< Previous Page | 591 592 593 594 595 596 597 598 599 600 601 602  | Next Page >